{
  "description": "The Gemini Data Analytics API enables developers to build intelligent data analytics applications. Leverage AI-powered chat interfaces to allow users to interact with and analyze structured data using natural language.",
  "name": "geminidataanalytics",
  "id": "geminidataanalytics:v1beta",
  "kind": "discovery#restDescription",
  "batchPath": "batch",
  "canonicalName": "Data Analytics API with Gemini",
  "discoveryVersion": "v1",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "resources": {
            "conversations": {
              "methods": {
                "list": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "pageSize": {
                      "description": "Optional. Requested page size. Server may return fewer items than requested. The max page size is `100`. All larger page sizes will be coerced to `100`. If unspecified, server will pick `50` as an appropriate default.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "filter": {
                      "description": "Optional. Returned conversations will match criteria specified within the filter. ListConversations allows filtering by: * agents * labels",
                      "type": "string",
                      "location": "query"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Optional. A token identifying a page of results the server should return.",
                      "location": "query"
                    },
                    "parent": {
                      "description": "Required. Parent value for ListConversationsRequest. Format: `projects/{project}/locations/{location}`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "description": "Lists all conversations for a given parent.",
                  "id": "geminidataanalytics.projects.locations.conversations.list",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaListConversationsResponse"
                  },
                  "path": "v1beta/{+parent}/conversations"
                },
                "patch": {
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1beta/{+name}",
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
                  },
                  "parameters": {
                    "name": {
                      "description": "Optional. Identifier. The unique resource name of a conversation. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}` `{conversation_id}` is the resource id and should be 63 characters or less and must match the format described in https://google.aip.dev/122#resource-id-segments Example: `projects/1234567890/locations/global/conversations/my-conversation`. It is recommended to skip setting this field during conversation creation as it will be inferred automatically and overwritten with the {parent}/conversations/{conversation_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    },
                    "updateMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Optional. Field mask is used to specify the fields to be overwritten in the Conversation 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 with non-default values present in the request will be overwritten. If a wildcard mask is provided, all fields will be overwritten."
                    },
                    "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.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "httpMethod": "PATCH",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "description": "Updates a conversation.",
                  "id": "geminidataanalytics.projects.locations.conversations.patch"
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "Required. Name of the resource. Format: `projects/{project}/locations/{location}/conversations/{conversation}`",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "id": "geminidataanalytics.projects.locations.conversations.get",
                  "httpMethod": "GET",
                  "path": "v1beta/{+name}",
                  "description": "Gets details of a single conversation by using conversation id and parent.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
                  }
                },
                "create": {
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.conversations.create",
                  "httpMethod": "POST",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. Parent value for CreateConversationRequest. Format: `projects/{project}/locations/{location}`"
                    },
                    "conversationId": {
                      "type": "string",
                      "description": "Optional. The conversation id of the conversation to create. Must be unique within the parent. The allowed format is: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. If not provided, the server will auto-generate a value for the id.",
                      "location": "query"
                    },
                    "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.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "description": "Creates a new conversation to persist the conversation history. Each conversation will have multiple messages associated with it.",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
                  },
                  "path": "v1beta/{+parent}/conversations",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "delete": {
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "geminidataanalytics.projects.locations.conversations.delete",
                  "description": "Deletes a conversation.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "location": "path",
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "description": "Required. Name of the resource. Format: `projects/{project}/locations/{location}/conversations/{conversation}`"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "path": "v1beta/{+name}"
                }
              },
              "resources": {
                "messages": {
                  "methods": {
                    "list": {
                      "id": "geminidataanalytics.projects.locations.conversations.messages.list",
                      "path": "v1beta/{+parent}/messages",
                      "parameters": {
                        "parent": {
                          "description": "Required. The conversation to list messages under. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}`",
                          "type": "string",
                          "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                          "required": true,
                          "location": "path"
                        },
                        "pageToken": {
                          "type": "string",
                          "location": "query",
                          "description": "Optional. A token identifying a page of results the server should return."
                        },
                        "pageSize": {
                          "description": "Optional. Requested page size. Server may return fewer items than requested. The max page size is `100`. All larger page sizes will be coerced to `100`. If unspecified, server will pick `50` as an appropriate default.",
                          "location": "query",
                          "format": "int32",
                          "type": "integer"
                        },
                        "filter": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for syntax. ListMessages allows filtering by: * create_time (e.g., `createTime \u003e \"2025-01-28T06:51:56-08:00\"`) * update_time"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/messages",
                      "response": {
                        "$ref": "GoogleCloudGeminidataanalyticsV1betaListMessagesResponse"
                      },
                      "httpMethod": "GET",
                      "description": "Lists all messages for a given conversation."
                    }
                  }
                }
              }
            },
            "operations": {
              "methods": {
                "list": {
                  "httpMethod": "GET",
                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "path": "v1beta/{+name}/operations",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations",
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "parameters": {
                    "filter": {
                      "type": "string",
                      "description": "The standard list filter.",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "type": "string"
                    },
                    "returnPartialSuccess": {
                      "location": "query",
                      "type": "boolean",
                      "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."
                    },
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "The standard list page size.",
                      "type": "integer"
                    },
                    "pageToken": {
                      "type": "string",
                      "location": "query",
                      "description": "The standard list page token."
                    }
                  },
                  "id": "geminidataanalytics.projects.locations.operations.list",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "delete": {
                  "path": "v1beta/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource to be deleted.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "httpMethod": "DELETE",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "Empty"
                  },
                  "id": "geminidataanalytics.projects.locations.operations.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`.",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "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.",
                  "httpMethod": "GET",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "id": "geminidataanalytics.projects.locations.operations.get",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1beta/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "cancel": {
                  "id": "geminidataanalytics.projects.locations.operations.cancel",
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "httpMethod": "POST",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "response": {
                    "$ref": "Empty"
                  },
                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "type": "string",
                      "description": "The name of the operation resource to be cancelled.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "path": "v1beta/{+name}:cancel",
                  "parameterOrder": [
                    "name"
                  ]
                }
              }
            },
            "dataAgents": {
              "methods": {
                "setIamPolicy": {
                  "path": "v1beta/{+resource}:setIamPolicy",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:setIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.setIamPolicy",
                  "httpMethod": "POST",
                  "description": "Sets the IAM policy for a DataAgent.",
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "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.",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "deleteSync": {
                  "path": "v1beta/{+name}:deleteSync",
                  "httpMethod": "DELETE",
                  "description": "Deletes a single DataAgent synchronously.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.deleteSync",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:deleteSync",
                  "response": {
                    "$ref": "Empty"
                  },
                  "parameters": {
                    "requestId": {
                      "type": "string",
                      "location": "query",
                      "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": {
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "description": "Required. Name of the resource."
                    }
                  }
                },
                "createSync": {
                  "id": "geminidataanalytics.projects.locations.dataAgents.createSync",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents:createSync",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  },
                  "httpMethod": "POST",
                  "parameters": {
                    "dataAgentId": {
                      "type": "string",
                      "description": "Optional. Id of the requesting object. Must be unique within the parent. The allowed format is: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. If not provided, the server will auto-generate a value for the id.",
                      "location": "query"
                    },
                    "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",
                      "location": "query"
                    },
                    "parent": {
                      "description": "Required. Value for parent.",
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "description": "Creates a new DataAgent in a given project and location synchronously.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1beta/{+parent}/dataAgents:createSync",
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "listAccessible": {
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "type": "integer",
                      "description": "Optional. Server may return fewer items than requested. If unspecified, server will pick an appropriate default."
                    },
                    "filter": {
                      "description": "Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for syntax.",
                      "type": "string",
                      "location": "query"
                    },
                    "showDeleted": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. If true, the list results will include soft-deleted DataAgents. Defaults to false."
                    },
                    "orderBy": {
                      "description": "Optional. User specification for how to order the results.",
                      "location": "query",
                      "type": "string"
                    },
                    "creatorFilter": {
                      "enumDescriptions": [
                        "Default value.",
                        "No creator-specific filter will be applied. All agents will be returned.",
                        "Only agents created by the user calling the API will be returned.",
                        "Only agents not created by the user calling the API will be returned."
                      ],
                      "type": "string",
                      "enum": [
                        "CREATOR_FILTER_UNSPECIFIED",
                        "NONE",
                        "CREATOR_ONLY",
                        "NOT_CREATOR_ONLY"
                      ],
                      "location": "query",
                      "description": "Optional. Filter for the creator of the agent."
                    },
                    "parent": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. Parent value for ListAccessibleDataAgentsRequest.",
                      "required": true,
                      "location": "path"
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "Optional. A page token, received from a previous `ListAccessibleDataAgents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAccessibleDataAgents` must match the call that provided the page token. The service may return fewer than this value.",
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "path": "v1beta/{+parent}/dataAgents:listAccessible",
                  "id": "geminidataanalytics.projects.locations.dataAgents.listAccessible",
                  "description": "Lists DataAgents that are accessible to the caller in a given project and location.",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents:listAccessible",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaListAccessibleDataAgentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "GET"
                },
                "delete": {
                  "httpMethod": "DELETE",
                  "path": "v1beta/{+name}",
                  "description": "Deletes a single DataAgent.",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.delete",
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "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"
                    },
                    "name": {
                      "description": "Required. Name of the resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "required": true
                    }
                  },
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "updateSync": {
                  "parameters": {
                    "updateMask": {
                      "description": "Optional. Field mask is used to specify the fields to be overwritten in the DataAgent 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 with non-default values present in the request will be overwritten. If a wildcard mask is provided, all fields will be overwritten.",
                      "type": "string",
                      "format": "google-fieldmask",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "description": "Optional. Identifier. The unique resource name of a DataAgent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent_id}` `{data_agent}` is the resource id and should be 63 characters or less and must match the format described in https://google.aip.dev/122#resource-id-segments Example: `projects/1234567890/locations/global/dataAgents/my-agent`. It is recommended to skip setting this field during agent creation as it will be inferred automatically and overwritten with the {parent}/dataAgents/{data_agent_id}.",
                      "type": "string"
                    },
                    "requestId": {
                      "type": "string",
                      "location": "query",
                      "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)."
                    }
                  },
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  },
                  "description": "Updates the parameters of a single DataAgent synchronously.",
                  "httpMethod": "PATCH",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.updateSync",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:updateSync",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  },
                  "path": "v1beta/{+name}:updateSync"
                },
                "get": {
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "id": "geminidataanalytics.projects.locations.dataAgents.get",
                  "path": "v1beta/{+name}",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "description": "Required. Name of the resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "type": "string",
                      "required": true,
                      "location": "path"
                    }
                  },
                  "description": "Gets details of a single DataAgent.",
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  }
                },
                "patch": {
                  "path": "v1beta/{+name}",
                  "description": "Updates the parameters of a single DataAgent.",
                  "httpMethod": "PATCH",
                  "id": "geminidataanalytics.projects.locations.dataAgents.patch",
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  },
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "Optional. Identifier. The unique resource name of a DataAgent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent_id}` `{data_agent}` is the resource id and should be 63 characters or less and must match the format described in https://google.aip.dev/122#resource-id-segments Example: `projects/1234567890/locations/global/dataAgents/my-agent`. It is recommended to skip setting this field during agent creation as it will be inferred automatically and overwritten with the {parent}/dataAgents/{data_agent_id}.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$"
                    },
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "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)."
                    },
                    "updateMask": {
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "Optional. Field mask is used to specify the fields to be overwritten in the DataAgent 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 with non-default values present in the request will be overwritten. If a wildcard mask is provided, all fields will be overwritten.",
                      "location": "query"
                    }
                  }
                },
                "create": {
                  "path": "v1beta/{+parent}/dataAgents",
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "requestId": {
                      "location": "query",
                      "type": "string",
                      "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)."
                    },
                    "parent": {
                      "type": "string",
                      "description": "Required. Value for parent.",
                      "location": "path",
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "dataAgentId": {
                      "description": "Optional. Id of the requesting object. Must be unique within the parent. The allowed format is: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`. If not provided, the server will auto-generate a value for the id.",
                      "type": "string",
                      "location": "query"
                    }
                  },
                  "description": "Creates a new DataAgent in a given project and location.",
                  "id": "geminidataanalytics.projects.locations.dataAgents.create",
                  "httpMethod": "POST",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
                  }
                },
                "getIamPolicy": {
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "path": "v1beta/{+resource}:getIamPolicy",
                  "httpMethod": "POST",
                  "id": "geminidataanalytics.projects.locations.dataAgents.getIamPolicy",
                  "description": "Gets the IAM policy for DataAgent",
                  "request": {
                    "$ref": "GoogleIamV1GetIamPolicyRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "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.",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "parameterOrder": [
                    "resource"
                  ]
                },
                "list": {
                  "path": "v1beta/{+parent}/dataAgents",
                  "description": "Lists DataAgents in a given project and location.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.list",
                  "httpMethod": "GET",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "Required. Parent value for ListDataAgentsRequest.",
                      "type": "string"
                    },
                    "showDeleted": {
                      "type": "boolean",
                      "location": "query",
                      "description": "Optional. If true, the list results will include soft-deleted DataAgents. Defaults to false."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for syntax."
                    },
                    "pageSize": {
                      "description": "Optional. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
                      "format": "int32",
                      "type": "integer",
                      "location": "query"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Optional. User specification for how to order the results.",
                      "location": "query"
                    },
                    "creatorFilter": {
                      "type": "string",
                      "description": "Optional. Filter for the creator of the agent.",
                      "enum": [
                        "CREATOR_FILTER_UNSPECIFIED",
                        "NONE",
                        "CREATOR_ONLY",
                        "NOT_CREATOR_ONLY"
                      ],
                      "location": "query",
                      "enumDescriptions": [
                        "Default value.",
                        "No creator-specific filter will be applied. All agents will be returned.",
                        "Only agents created by the user calling the API will be returned.",
                        "Only agents not created by the user calling the API will be returned."
                      ]
                    },
                    "pageToken": {
                      "description": "Optional. A page token, received from a previous `ListDataAgents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataAgents` must match the call that provided the page token. The service may return fewer than this value.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataAgents",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaListDataAgentsResponse"
                  }
                }
              }
            },
            "observabilitySettings": {
              "methods": {
                "setAgentOpsObservability": {
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1betaSetAgentOpsObservabilityRequest"
                  },
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. Parent value for SetAgentOpsObservabilityRequest. Format: projects/{project}/locations/{location}",
                      "location": "path"
                    }
                  },
                  "description": "Enables/Disables required GCP services and configures AgentOps observability settings.",
                  "parameterOrder": [
                    "parent"
                  ],
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/observabilitySettings:setAgentOpsObservability",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1beta/{+parent}/observabilitySettings:setAgentOpsObservability",
                  "id": "geminidataanalytics.projects.locations.observabilitySettings.setAgentOpsObservability",
                  "httpMethod": "POST"
                }
              }
            }
          },
          "methods": {
            "queryData": {
              "description": "Queries data from a natural language user query.",
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "request": {
                "$ref": "GoogleCloudGeminidataanalyticsV1betaQueryDataRequest"
              },
              "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}:queryData",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1betaQueryDataResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "geminidataanalytics.projects.locations.queryData",
              "parameters": {
                "parent": {
                  "type": "string",
                  "description": "Required. The parent resource to generate the query for. Format: projects/{project}/locations/{location}",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true
                }
              },
              "path": "v1beta/{+parent}:queryData"
            },
            "chat": {
              "description": "Answers a data question by generating a stream of Message objects.",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudGeminidataanalyticsV1betaChatRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "required": true,
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string",
                  "description": "Required. The parent value for chat request. Pattern: `projects/{project}/locations/{location}`"
                }
              },
              "path": "v1beta/{+parent}:chat",
              "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}:chat",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1betaMessage"
              },
              "id": "geminidataanalytics.projects.locations.chat"
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "id": "geminidataanalytics.projects.locations.list",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "path": "v1beta/{+name}/locations",
              "flatPath": "v1beta/projects/{projectsId}/locations",
              "response": {
                "$ref": "GoogleCloudLocationListLocationsResponse"
              },
              "parameters": {
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "type": "string",
                  "location": "query"
                },
                "pageSize": {
                  "type": "integer",
                  "description": "The maximum number of results to return. If not set, the service selects a default.",
                  "format": "int32",
                  "location": "query"
                },
                "filter": {
                  "location": "query",
                  "type": "string",
                  "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160)."
                },
                "extraLocationTypes": {
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "type": "string",
                  "repeated": true
                },
                "name": {
                  "type": "string",
                  "required": true,
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "description": "The resource that owns the locations collection, if applicable."
                }
              },
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version."
            },
            "retrieveAgentOpsObservability": {
              "path": "v1beta/{+parent}:retrieveAgentOpsObservability",
              "httpMethod": "GET",
              "id": "geminidataanalytics.projects.locations.retrieveAgentOpsObservability",
              "description": "Gets AgentOps observability settings and status of required services.",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "description": "Required. Parent value for RetrieveAgentOpsObservabilityRequest. Format: projects/{project}/locations/{location}",
                  "type": "string",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "location": "path"
                },
                "dataSourceType": {
                  "type": "string",
                  "description": "Required. The data source type for which to retrieve observability settings. Examples: \"bigquery\", \"looker\"",
                  "location": "query"
                }
              },
              "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}:retrieveAgentOpsObservability",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1betaRetrieveAgentOpsObservabilityResponse"
              }
            },
            "get": {
              "httpMethod": "GET",
              "description": "Gets information about a location.",
              "id": "geminidataanalytics.projects.locations.get",
              "path": "v1beta/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}",
              "response": {
                "$ref": "GoogleCloudLocationLocation"
              },
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "location": "path",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Resource name for the location."
                }
              }
            }
          }
        }
      }
    },
    "a2a": {
      "resources": {
        "projects": {
          "resources": {
            "locations": {
              "resources": {
                "dataAgents": {
                  "resources": {
                    "v1": {
                      "methods": {
                        "getCard": {
                          "path": "v1beta/a2a/{+tenant}/v1/card",
                          "id": "geminidataanalytics.a2a.projects.locations.dataAgents.v1.getCard",
                          "httpMethod": "GET",
                          "parameters": {
                            "tenant": {
                              "location": "path",
                              "required": true,
                              "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                              "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.",
                              "type": "string"
                            }
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ],
                          "description": "GetAgentCard returns the agent card for the agent.",
                          "parameterOrder": [
                            "tenant"
                          ],
                          "flatPath": "v1beta/a2a/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}/v1/card",
                          "response": {
                            "$ref": "A2aV1AgentCard"
                          }
                        }
                      },
                      "resources": {
                        "message": {
                          "methods": {
                            "stream": {
                              "description": "SendStreamingMessage is a streaming call that will return a stream of task update events until the Task is in an interrupted or terminal state.",
                              "parameters": {
                                "tenant": {
                                  "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                                  "type": "string",
                                  "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.",
                                  "location": "path",
                                  "required": true
                                }
                              },
                              "request": {
                                "$ref": "A2aV1SendMessageRequest"
                              },
                              "id": "geminidataanalytics.a2a.projects.locations.dataAgents.v1.message.stream",
                              "path": "v1beta/a2a/{+tenant}/v1/message:stream",
                              "parameterOrder": [
                                "tenant"
                              ],
                              "flatPath": "v1beta/a2a/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}/v1/message:stream",
                              "response": {
                                "$ref": "A2aV1StreamResponse"
                              },
                              "httpMethod": "POST",
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            },
                            "send": {
                              "flatPath": "v1beta/a2a/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}/v1/message:send",
                              "response": {
                                "$ref": "A2aV1SendMessageResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ],
                              "id": "geminidataanalytics.a2a.projects.locations.dataAgents.v1.message.send",
                              "parameters": {
                                "tenant": {
                                  "description": "Optional tenant, provided as a path parameter. Experimental, might still change for 1.0 release.",
                                  "required": true,
                                  "location": "path",
                                  "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                                  "type": "string"
                                }
                              },
                              "parameterOrder": [
                                "tenant"
                              ],
                              "path": "v1beta/a2a/{+tenant}/v1/message:send",
                              "httpMethod": "POST",
                              "description": "Send a message to the agent. This is a blocking call that will return the task once it is completed, or a LRO if requested.",
                              "request": {
                                "$ref": "A2aV1SendMessageRequest"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "title": "Data Analytics API with Gemini",
  "fullyEncodeReservedExpansion": true,
  "ownerDomain": "google.com",
  "rootUrl": "https://geminidataanalytics.googleapis.com/",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "protocol": "rest",
  "basePath": "",
  "mtlsRootUrl": "https://geminidataanalytics.mtls.googleapis.com/",
  "servicePath": "",
  "version_module": true,
  "endpoints": [
    {
      "location": "us",
      "description": "Regional Endpoint",
      "endpointUrl": "https://geminidataanalytics.us.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://geminidataanalytics.eu.rep.googleapis.com/",
      "location": "eu",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://geminidataanalytics.europe-west4.rep.googleapis.com/",
      "location": "europe-west4",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://geminidataanalytics.us-south1.rep.googleapis.com/",
      "location": "us-south1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://geminidataanalytics.europe-west2.rep.googleapis.com/",
      "location": "europe-west2",
      "description": "Regional Endpoint"
    }
  ],
  "revision": "20261008",
  "parameters": {
    "callback": {
      "location": "query",
      "type": "string",
      "description": "JSONP"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "$.xgafv": {
      "description": "V1 error format.",
      "location": "query",
      "type": "string",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "enum": [
        "1",
        "2"
      ]
    },
    "alt": {
      "type": "string",
      "location": "query",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "default": "json",
      "description": "Data format for response.",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "type": "string",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query"
    },
    "quotaUser": {
      "location": "query",
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "type": "string"
    },
    "upload_protocol": {
      "type": "string",
      "location": "query",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "baseUrl": "https://geminidataanalytics.googleapis.com/",
  "schemas": {
    "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResult": {
      "description": "The result of a query execution. The design is generic for all dialects.",
      "type": "object",
      "properties": {
        "columns": {
          "description": "The columns in the result set, in order.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultColumn"
          }
        },
        "partialResult": {
          "description": "Set to true if the returned rows in `query_result` are a subset of the full result. This can happen, for example, if the query execution hits a row limit. When true, the `query_result` does not contain all rows. To retrieve the complete result, consider using the `generated_query` in `QueryDataResponse` and executing it in your own environment.",
          "type": "boolean"
        },
        "totalRowCount": {
          "type": "string",
          "format": "int64",
          "description": "The total number of rows in the full result set, if known. This may be an estimate or an exact count. Note: if an internal limit (such as LIMIT 1000) was applied during query execution to guard against excessive data transfer, this count reflects the truncated result size rather than the unrestricted table result size."
        },
        "queryExecutionError": {
          "description": "The error message if the query execution failed.",
          "type": "string"
        },
        "rows": {
          "description": "The rows returned by the query.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultRow"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResult"
    },
    "GoogleCloudGeminidataanalyticsV1betaChatRequest": {
      "properties": {
        "conversationReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaConversationReference",
          "description": "Optional. Reference to a persisted conversation and agent context. Use this to chat with an Agent using managed conversation persistence."
        },
        "credentials": {
          "description": "Optional. The credentials to use when calling the data source(s) specified in the context. This field can be used to provide credentials for various data sources. For example, when connecting to Looker, it currently supports both OAuth token and API key-based credentials, as described in [Authentication with an SDK](https://cloud.google.com/looker/docs/api-auth#authentication_with_an_sdk).",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCredentials"
        },
        "dataAgentContext": {
          "description": "Optional. Context for the chat request. Use this to chat with an Agent statelessly, without managed conversation persistence.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgentContext"
        },
        "thinkingMode": {
          "enum": [
            "THINKING_MODE_UNSPECIFIED",
            "FAST",
            "THINKING"
          ],
          "enumDescriptions": [
            "Unspecified thinking mode, agent will use THINKING mode by default except for BigQuery user defaulting to FAST mode by default.",
            "Fast mode, answers quickly.",
            "Thinking mode, solves complex problems."
          ],
          "description": "Optional. The thinking mode to use for the agent loop. Defaults to THINKING_MODE_UNSPECIFIED if not specified.",
          "type": "string"
        },
        "inlineContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContext",
          "description": "Optional. Inline context for the chat request. Use this to chat statelessly (without managed conversation persistence and without an Agent) by passing all context inline."
        },
        "model": {
          "description": "Optional. The model to use for the agent loop when processing the request. This setting only has an effect when context.options.model is not set.",
          "enum": [
            "MODEL_UNSPECIFIED",
            "LATEST_GA_MODEL"
          ],
          "enumDescriptions": [
            "No model specified. Either preview or non preview model can be used.",
            "Use the most up-to-date non-preview model. This may constrain certain request level settings."
          ],
          "type": "string"
        },
        "messages": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaMessage"
          },
          "description": "Required. Content of current conversation.",
          "type": "array"
        },
        "project": {
          "deprecated": true,
          "description": "Optional. Deprecated: Use `parent` field instead. The Google Cloud project to be used for quota and billing.",
          "type": "string"
        },
        "lookerSettings": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerSettings",
          "description": "Optional. Looker specific settings."
        },
        "clientManagedResourceContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaClientManagedResourceContext",
          "description": "Optional. Context with client managed resources. Some clients may not use GDA managed resources including conversations and agents, instead they create and manage their own conversations and agents resources."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaChatRequest",
      "description": "Request for Chat.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaConversationReference": {
      "id": "GoogleCloudGeminidataanalyticsV1betaConversationReference",
      "properties": {
        "dataAgentContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgentContext",
          "description": "Required. Context for the chat request using a data agent."
        },
        "conversation": {
          "description": "Required. Name of the conversation resource. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}`",
          "type": "string"
        }
      },
      "description": "Reference to a persisted conversation and agent context.",
      "type": "object"
    },
    "A2aV1Task": {
      "description": "Task is the core unit of action for A2A. It has a current status and when results are created for the task they are stored in the artifact. If there are multiple turns for a task, these are stored in history.",
      "id": "A2aV1Task",
      "properties": {
        "id": {
          "description": "Unique identifier (e.g. UUID) for the task, generated by the server for a new task.",
          "type": "string"
        },
        "status": {
          "description": "The current status of a Task, including state and a message.",
          "$ref": "A2aV1TaskStatus"
        },
        "contextId": {
          "description": "Unique identifier (e.g. UUID) for the contextual collection of interactions (tasks and messages). Created by the A2A server.",
          "type": "string"
        },
        "artifacts": {
          "description": "A set of output artifacts for a Task.",
          "items": {
            "$ref": "A2aV1Artifact"
          },
          "type": "array"
        },
        "history": {
          "items": {
            "$ref": "A2aV1Message"
          },
          "type": "array",
          "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task."
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object",
          "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED A key/value object to store custom metadata about a task."
        }
      },
      "type": "object"
    },
    "GoogleLongrunningListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "properties": {
        "operations": {
          "type": "array",
          "items": {
            "$ref": "GoogleLongrunningOperation"
          },
          "description": "A list of operations that matches the specified filter in the request."
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "id": "GoogleLongrunningListOperationsResponse"
    },
    "GoogleCloudGeminidataanalyticsV1betaDataMessage": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDataMessage",
      "properties": {
        "query": {
          "description": "A data retrieval query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataQuery"
        },
        "generatedLookerQuery": {
          "deprecated": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerQuery",
          "description": "Deprecated: generated looker query is now under DataQuery.looker. Looker Query generated by the system to retrieve data."
        },
        "result": {
          "description": "Retrieved data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataResult"
        },
        "matchedQuery": {
          "description": "A pre-existing query that was matched to retrieve data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaMatchedQuery"
        },
        "bigQueryJob": {
          "description": "A BigQuery job executed by the system to retrieve data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryJob"
        },
        "generatedSql": {
          "description": "SQL generated by the system to retrieve data.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A message produced during data retrieval."
    },
    "GoogleCloudGeminidataanalyticsV1betaCloudSqlReference": {
      "type": "object",
      "description": "Message representing reference to a CloudSQL database and agent context. Only supported for the `QueryData` method.",
      "properties": {
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCloudSqlDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        },
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaCloudSqlReference"
    },
    "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultColumn": {
      "id": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultColumn",
      "properties": {
        "name": {
          "description": "The name of the column.",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "The type of the column (e.g., \"VARCHAR\", \"INT64\", \"TIMESTAMP\")."
        }
      },
      "type": "object",
      "description": "Describes a single column in the result set."
    },
    "GoogleCloudGeminidataanalyticsV1betaDataAgent": {
      "description": "Message describing a DataAgent object.",
      "id": "GoogleCloudGeminidataanalyticsV1betaDataAgent",
      "type": "object",
      "properties": {
        "name": {
          "description": "Optional. Identifier. The unique resource name of a DataAgent. Format: `projects/{project}/locations/{location}/dataAgents/{data_agent_id}` `{data_agent}` is the resource id and should be 63 characters or less and must match the format described in https://google.aip.dev/122#resource-id-segments Example: `projects/1234567890/locations/global/dataAgents/my-agent`. It is recommended to skip setting this field during agent creation as it will be inferred automatically and overwritten with the {parent}/dataAgents/{data_agent_id}.",
          "type": "string"
        },
        "deleteTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. [Output only] The time the data agent was soft deleted."
        },
        "labels": {
          "description": "Optional. Labels to help users filter related agents. For example, \"sales\", \"business\", \"etl\", and so on. Note labels are used only for filtering and not for policies. See the [labels documentation](https://cloud.google.com/resource-manager/docs/labels-overview) for more details on label usage.",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "createTime": {
          "readOnly": true,
          "description": "Output only. The time when the data agent was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "kmsKey": {
          "type": "string",
          "description": "Optional. Customer managed encryption key (CMEK) to use for encrypting the DataAgent resources. Cloud KMS CryptoKeys must reside in the same location as the DataAgent. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`."
        },
        "bigqueryAgentAnalyticsTable": {
          "description": "Optional. The BigQuery table that BigQuery Agent Analytics trace rows are written to. Has no effect unless `bigquery_agent_analytics_enabled` is `true`. The Preview enrollment described on that field applies here too. The trace table is validated when it is set on `CreateDataAgent`, or when it is included in the `update_mask` of an `UpdateDataAgent` call. The following are rejected with `INVALID_ARGUMENT`: * The table must belong to the same project as the agent. * The agent's datasource must be BigQuery. BigQuery Agent Analytics is not supported for Looker, Looker Studio or AlloyDB agents. These are validated against the agent as sent in the request. An agent that carries no datasource is not validated, and an agent switched to a non-BigQuery datasource is not re-validated; in the latter case no trace rows are written. The destination dataset must already exist and must grant write access to the project's Gemini Data Analytics service agent, whose address is `service-PROJECT_NUMBER@gcp-sa-geminidataanalytics.iam.gserviceaccount.com` (that grant is not performed on your behalf). Without it the agent answers normally and no trace rows are written. Changing the table on an existing agent affects subsequent turns only. Rows already written to the previous table are left in place.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference"
        },
        "updateTime": {
          "readOnly": true,
          "description": "Output only. The time when the data agent was last updated.",
          "type": "string",
          "format": "google-datetime"
        },
        "bigqueryAgentAnalyticsEnabled": {
          "type": "boolean",
          "description": "Optional. Controls whether BigQuery Agent Analytics trace logging is enabled for the agent. BigQuery Agent Analytics is in Preview and is delivered to enrolled projects only. In a project that is not enrolled this field is accepted and stored, but no trace rows are written and no error is returned. Trace logging is additionally suppressed for the entire turn, without error, when any table in the agent's datasource carries row-level security, column-level security or policy tags. It is also suppressed when that determination cannot be made, for example when the caller lacks permission to list a table's row access policies. Trace rows are written only when this is `true` and `bigquery_agent_analytics_table` is set. On a BigQuery agent, enabling this without a table has no effect: no table is created for the agent and no rows are written. On an agent whose datasource is not BigQuery, `CreateDataAgent` rejects either field with `INVALID_ARGUMENT`. This setting is independent of the project-level BigQuery Agent Analytics setting configured through `SetAgentOpsObservability`. An agent does not inherit that setting."
        },
        "dataAnalyticsAgent": {
          "description": "Data analytics agent.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAnalyticsAgent"
        },
        "purgeTime": {
          "description": "Output only. Timestamp in UTC of when this data agent is considered expired. This is *always* provided on output, regardless of what was sent on input.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "description": {
          "description": "Optional. Description of the agent. * Must be between 1-1024 characters.",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. User friendly display name. * Must be between 1-256 characters.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaFirestoreDatabaseReference": {
      "description": "Message representing a reference to a single Firestore database.",
      "id": "GoogleCloudGeminidataanalyticsV1betaFirestoreDatabaseReference",
      "type": "object",
      "properties": {
        "databaseId": {
          "description": "Required. The database id.",
          "type": "string"
        },
        "projectId": {
          "type": "string",
          "description": "Required. Project the firestore database belongs to."
        },
        "collectionIds": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The collection ids. Denotes all collections if unset.",
          "type": "array"
        },
        "databaseTableReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
          },
          "type": "array",
          "description": "Optional. References to collections within the database. Each reference specifies a collection and can optionally include the collection's schema to provide context for the query."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaUserMessage": {
      "description": "A message from the user that is interacting with the system.",
      "id": "GoogleCloudGeminidataanalyticsV1betaUserMessage",
      "properties": {
        "text": {
          "description": "Text should use this field instead of blob.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsSvgOptions": {
      "description": "SVG options.",
      "properties": {},
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsSvgOptions"
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerQuery": {
      "description": "Looker Query Object [Looker API documentation](https://cloud.google.com/looker/docs/reference/looker-api/latest/methods/Query/run_inline_query).",
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerQuery",
      "properties": {
        "sorts": {
          "description": "Optional. The sorts to apply to the explore.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "queryId": {
          "type": "string",
          "description": "Optional. The primary identifier for the query resource in Looker, used for API operations. Maps to `id` (or `slug`) in the Looker API `Query` resource."
        },
        "limit": {
          "type": "string",
          "description": "Optional. Limit in the query."
        },
        "dynamicFields": {
          "description": "Optional. The dynamic fields used in the query.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDynamicField"
          },
          "type": "array"
        },
        "fields": {
          "type": "array",
          "description": "Optional. The fields to retrieve from the explore.",
          "items": {
            "type": "string"
          }
        },
        "filters": {
          "description": "Optional. The filters to apply to the explore.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerQueryFilter"
          },
          "type": "array"
        },
        "model": {
          "type": "string",
          "description": "Required. The LookML model used to generate the query."
        },
        "clientId": {
          "type": "string",
          "description": "Optional. The short alphanumeric identifier for the query, used for share links and Explore URLs (e.g., in the `qid` parameter). Maps to `client_id` in the Looker API `Query` resource."
        },
        "explore": {
          "description": "Required. The LookML explore used to generate the query.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleLongrunningOperation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object",
      "id": "GoogleLongrunningOperation",
      "properties": {
        "response": {
          "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "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"
        },
        "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"
        },
        "error": {
          "$ref": "GoogleRpcStatus",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object",
          "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."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaTextMessage": {
      "id": "GoogleCloudGeminidataanalyticsV1betaTextMessage",
      "description": "A multi-part text message.",
      "type": "object",
      "properties": {
        "thoughtSignature": {
          "format": "byte",
          "description": "Optional. An opaque signature for a thought so it can be reused in subsequent requests.",
          "type": "string"
        },
        "parts": {
          "description": "Optional. The parts of the message.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "textType": {
          "type": "string",
          "description": "Optional. The type of the text message.",
          "enum": [
            "TEXT_TYPE_UNSPECIFIED",
            "FINAL_RESPONSE",
            "THOUGHT",
            "PROGRESS",
            "FOLLOWUP_QUESTIONS"
          ],
          "enumDescriptions": [
            "The default text type.",
            "The text is a final response to the user question.",
            "The text is a thought from the model.",
            "The text is an informational message about the agent's progress, such as a tool being invoked. This is distinct from the agent's internal thought process (`THOUGHT`) and the final answer to the user (`FINAL_RESPONSE`). These messages provide insight into the agent's actions.",
            "The text is a list of follow-up questions suggested. Each item in parts is a follow-up question."
          ]
        }
      }
    },
    "A2aV1PasswordOAuthFlow": {
      "type": "object",
      "id": "A2aV1PasswordOAuthFlow",
      "properties": {
        "scopes": {
          "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "tokenUrl": {
          "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.",
          "type": "string"
        },
        "refreshUrl": {
          "type": "string",
          "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaListDataAgentsResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1betaListDataAgentsResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The next page token or empty if none."
        },
        "dataAgents": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
          },
          "type": "array",
          "description": "The list of DataAgent."
        },
        "unreachable": {
          "description": "Unordered list. Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "Message for response to listing DataAgents."
    },
    "A2aV1StringList": {
      "properties": {
        "list": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "A2aV1StringList",
      "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED"
    },
    "GoogleCloudGeminidataanalyticsV1betaDatasource": {
      "description": "A datasource that can be used to answer questions.",
      "id": "GoogleCloudGeminidataanalyticsV1betaDatasource",
      "properties": {
        "studioDatasourceId": {
          "description": "A reference to a Looker Studio datasource.",
          "type": "string"
        },
        "lookerExploreReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerExploreReference",
          "description": "A reference to a Looker explore."
        },
        "schema": {
          "description": "Optional. The schema of the datasource.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema"
        },
        "alloyDbReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAlloyDbReference",
          "description": "A reference to an AlloyDB database."
        },
        "firestoreReference": {
          "description": "A reference to a Firestore database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaFirestoreReference"
        },
        "cloudSqlReference": {
          "description": "A reference to a CloudSQL database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCloudSqlReference"
        },
        "bigtableReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigtableReference",
          "description": "A reference to a Bigtable instance."
        },
        "spannerReference": {
          "description": "A reference to a Spanner database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSpannerReference"
        },
        "bigqueryPropertyGraphReference": {
          "description": "A reference to a BigQuery property graph.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryPropertyGraphReference"
        },
        "bigqueryTableReference": {
          "description": "A reference to a BigQuery table.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference"
        },
        "structSchema": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object",
          "description": "Optional. A struct representation of the schema. This is populated for datasources with schemas that cannot be fully represented by the strongly-typed `schema` field. For Looker datasources, this maps to the LookmlModelExplore type: https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore"
        }
      },
      "type": "object"
    },
    "GoogleIamV1Binding": {
      "properties": {
        "members": {
          "type": "array",
          "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.",
          "items": {
            "type": "string"
          }
        },
        "condition": {
          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "$ref": "GoogleTypeExpr"
        },
        "role": {
          "type": "string",
          "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": "object",
      "description": "Associates `members`, or principals, with a `role`.",
      "id": "GoogleIamV1Binding"
    },
    "GoogleCloudGeminidataanalyticsV1betaDataAnalyticsAgent": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDataAnalyticsAgent",
      "properties": {
        "lastPublishedContext": {
          "readOnly": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContext",
          "description": "Output only. The last published context for the agent. This is an output-only field populated by the system when the published context is updated. It is used to restore the agent to a previous state."
        },
        "stagingContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContext",
          "description": "Optional. The staging context for the agent. This context is used to test and validate changes before publishing."
        },
        "publishedContext": {
          "description": "Optional. The published context for the agent. This context is used by the Chat API in production.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContext"
        }
      },
      "description": "Message describing a DataAnalyticsAgent object.",
      "type": "object"
    },
    "A2aV1APIKeySecurityScheme": {
      "type": "object",
      "properties": {
        "name": {
          "description": "Name of the header, query or cookie parameter to be used.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Description of this security scheme."
        },
        "location": {
          "type": "string",
          "description": "Location of the API key, valid values are \"query\", \"header\", or \"cookie\""
        }
      },
      "id": "A2aV1APIKeySecurityScheme"
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerGoldenQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerGoldenQuery",
      "type": "object",
      "description": "A golden query for Looker, including natural language questions and a corresponding Looker Query. Analogous to ExampleQuery.",
      "properties": {
        "lookerQuery": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerQuery",
          "description": "Optional. The Looker Query corresponding to the natural language questions."
        },
        "naturalLanguageQuestions": {
          "description": "Optional. Natural language questions that a user might ask. For example: \"How many orders were placed last month?\" Must be at most 2,000 bytes per question (approx. 2,000 characters).",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryPropertyGraphReference": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryPropertyGraphReference",
      "type": "object",
      "description": "Message representing a reference to a single BigQuery property graph.",
      "properties": {
        "projectId": {
          "type": "string",
          "description": "Required. The project that the property graph belongs to."
        },
        "datasetId": {
          "description": "Required. The dataset that the property graph belongs to.",
          "type": "string"
        },
        "propertyGraphId": {
          "type": "string",
          "description": "Required. The property graph id."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaContext": {
      "properties": {
        "datasourceReferences": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDatasourceReferences",
          "description": "Required. Data sources that are available for answering the question."
        },
        "glossaryTerms": {
          "description": "Optional. Term definitions (currently, only user authored) Not supported for databases (alloydb, cloudsql, spanner) data sources.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaGlossaryTerm"
          }
        },
        "schemaRelationships": {
          "description": "Optional. Relationships between table schema, including referencing and referenced columns.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationship"
          }
        },
        "systemInstruction": {
          "description": "Optional. The basic entry point for data owners creating domain knowledge for Agent. Why: Business jargon (e.g., YTD revenue is calculated as…, Retirement Age is 65 in the USA, etc) and system instructions (e.g., answer like a Pirate) can help the model understand the business context around a user question. Must be at most 250,000 bytes (approx. 250,000 characters for English text).",
          "type": "string"
        },
        "lookerGoldenQueries": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerGoldenQuery"
          },
          "type": "array",
          "description": "Optional. A list of golden queries, providing examples of relevant and commonly used Looker queries and their corresponding natural language queries optionally present. Only supported for Looker data sources."
        },
        "options": {
          "description": "Optional. Additional options for the conversation.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaConversationOptions"
        },
        "userFunctions": {
          "description": "Optional. A collection of user functions to be included in context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaUserFunctions"
        },
        "exampleQueries": {
          "description": "Optional. A list of example queries, providing examples of relevant and commonly used SQL queries and their corresponding natural language queries optionally present. Currently only used for BigQuery data sources and databases (alloydb, cloudsql, spanner) data sources.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaExampleQuery"
          }
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaContext",
      "description": "A collection of context to apply to this conversation"
    },
    "A2aV1Message": {
      "description": "Message is one unit of communication between client and server. It is associated with a context and optionally a task. Since the server is responsible for the context definition, it must always provide a context_id in its messages. The client can optionally provide the context_id if it knows the context to associate the message to. Similarly for task_id, except the server decides if a task is created and whether to include the task_id.",
      "id": "A2aV1Message",
      "type": "object",
      "properties": {
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object",
          "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message."
        },
        "messageId": {
          "description": "The unique identifier (e.g. UUID)of the message. This is required and created by the message creator.",
          "type": "string"
        },
        "content": {
          "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.",
          "type": "array",
          "items": {
            "$ref": "A2aV1Part"
          }
        },
        "taskId": {
          "type": "string",
          "description": "The task id of the message. This is optional and if set, the message will be associated with the given task."
        },
        "role": {
          "description": "A role for the message.",
          "enum": [
            "ROLE_UNSPECIFIED",
            "ROLE_USER",
            "ROLE_AGENT"
          ],
          "enumDescriptions": [
            "",
            "USER role refers to communication from the client to the server.",
            "AGENT role refers to communication from the server to the client."
          ],
          "type": "string"
        },
        "contextId": {
          "description": "The context id of the message. This is optional and if set, the message will be associated with the given context.",
          "type": "string"
        },
        "extensions": {
          "description": "The URIs of extensions that are present or contributed to this Message.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleCloudLocationListLocationsResponse": {
      "properties": {
        "locations": {
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudLocationLocation"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        }
      },
      "description": "The response message for Locations.ListLocations.",
      "type": "object",
      "id": "GoogleCloudLocationListLocationsResponse"
    },
    "GoogleCloudGeminidataanalyticsV1betaAnalysisOptions": {
      "id": "GoogleCloudGeminidataanalyticsV1betaAnalysisOptions",
      "type": "object",
      "description": "Options for analysis.",
      "properties": {
        "python": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAnalysisOptionsPython",
          "description": "Optional. Options for Python analysis."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaChartOptions": {
      "description": "Options for chart generation.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaChartOptions",
      "properties": {
        "image": {
          "description": "Optional. When specified, the agent will render generated charts using the provided format. Defaults to no image.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptions"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaCitation": {
      "description": "Source attributions for content.",
      "type": "object",
      "properties": {
        "sources": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaCitationSource"
          },
          "description": "Output only. List of the sources being cited.",
          "readOnly": true
        },
        "anchors": {
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaCitationAnchor"
          },
          "description": "Output only. List of the anchors of the citations."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaCitation"
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerQueryFilter": {
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerQueryFilter",
      "type": "object",
      "properties": {
        "field": {
          "type": "string",
          "description": "Required. The field to filter on."
        },
        "value": {
          "description": "Optional. The value for the field to filter on. Optional so we can preserve the default value as an empty string, important to get a valid and working Looker Explore url.",
          "type": "string"
        }
      },
      "description": "A Looker query filter."
    },
    "GoogleIamV1GetIamPolicyRequest": {
      "description": "Request message for `GetIamPolicy` method.",
      "type": "object",
      "properties": {
        "options": {
          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.",
          "$ref": "GoogleIamV1GetPolicyOptions"
        }
      },
      "id": "GoogleIamV1GetIamPolicyRequest"
    },
    "GoogleCloudGeminidataanalyticsV1betaDatasourceOptions": {
      "description": "Options for datasources configurations.",
      "type": "object",
      "properties": {
        "bigQueryMaxBilledBytes": {
          "type": "string",
          "description": "Optional. This option applies to datasources that require BigQuery queries only. Limits the bytes billed for each BQ query job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, no limit will be applied.",
          "format": "int64"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaDatasourceOptions"
    },
    "Empty": {
      "type": "object",
      "properties": {},
      "id": "Empty",
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }"
    },
    "GoogleCloudGeminidataanalyticsV1betaFirestoreReference": {
      "properties": {
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        },
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaFirestoreDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaFirestoreReference",
      "type": "object",
      "description": "Message representing reference to a Firestore database and agent context."
    },
    "A2aV1DataPart": {
      "properties": {
        "data": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object"
        }
      },
      "type": "object",
      "id": "A2aV1DataPart",
      "description": "DataPart represents a structured blob. This is most commonly a JSON payload."
    },
    "GoogleCloudGeminidataanalyticsV1betaCitationAnchor": {
      "description": "The anchor of the citation.",
      "id": "GoogleCloudGeminidataanalyticsV1betaCitationAnchor",
      "type": "object",
      "properties": {
        "textMessageAnchor": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCitationAnchorTextMessageCitationAnchor",
          "readOnly": true,
          "description": "Output only. Only set if the citation is for a TextMessage."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationship": {
      "properties": {
        "confidenceScore": {
          "description": "Optional. A confidence score for the suggested relationship. Manually added edges have the highest confidence score.",
          "format": "float",
          "type": "number"
        },
        "leftSchemaPaths": {
          "description": "An ordered list of fields for the join from the first table. The size of this list must be the same as `right_schema_paths`. Each field at index i in this list must correspond to a field at the same index in the `right_schema_paths` list.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationshipSchemaPaths"
        },
        "sources": {
          "type": "array",
          "items": {
            "enum": [
              "SOURCE_UNSPECIFIED",
              "BIGQUERY_JOB_HISTORY",
              "LLM_SUGGESTED",
              "BIGQUERY_TABLE_CONSTRAINTS"
            ],
            "enumDescriptions": [
              "The source of the schema relationship is unspecified.",
              "The source of the schema relationship is BigQuery job history.",
              "The source of the schema relationship is LLM suggested.",
              "The source of the schema relationship is BigQuery table constraints."
            ],
            "type": "string"
          },
          "description": "Optional. Sources which generated the schema relation edge."
        },
        "rightSchemaPaths": {
          "description": "An ordered list of fields for the join from the second table. The size of this list must be the same as `left_schema_paths`. Each field at index i in this list must correspond to a field at the same index in the `left_schema_paths` list.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationshipSchemaPaths"
        }
      },
      "type": "object",
      "description": "The relationship between two tables, including referencing and referenced columns. This is a derived context retrieved from Dataplex Dataset Insights.",
      "id": "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationship"
    },
    "A2aV1TaskArtifactUpdateEvent": {
      "description": "TaskArtifactUpdateEvent represents a task delta where an artifact has been generated.",
      "id": "A2aV1TaskArtifactUpdateEvent",
      "type": "object",
      "properties": {
        "lastChunk": {
          "description": "Whether this represents the last part of an artifact",
          "type": "boolean"
        },
        "metadata": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "Optional metadata associated with the artifact update.",
          "type": "object"
        },
        "taskId": {
          "description": "The id of the task for this artifact",
          "type": "string"
        },
        "artifact": {
          "description": "The artifact itself",
          "$ref": "A2aV1Artifact"
        },
        "contextId": {
          "description": "The id of the context that this task belongs too",
          "type": "string"
        },
        "append": {
          "description": "Whether this should be appended to a prior one produced",
          "type": "boolean"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptions": {
      "description": "Options for rendering images of generated charts.",
      "type": "object",
      "properties": {
        "noImage": {
          "description": "No image.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsNoImage"
        },
        "svg": {
          "description": "SVG format.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsSvgOptions"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptions"
    },
    "GoogleCloudGeminidataanalyticsV1betaClarificationQuestion": {
      "properties": {
        "clarificationQuestionType": {
          "enum": [
            "CLARIFICATION_QUESTION_TYPE_UNSPECIFIED",
            "FILTER_VALUES",
            "FIELDS"
          ],
          "type": "string",
          "description": "Optional. Deprecated: The parent message is deprecated. The type of clarification question.",
          "enumDescriptions": [
            "Deprecated: The parent message is deprecated. Unspecified clarification question type.",
            "Deprecated: The parent message is deprecated. The clarification question is for filter values.",
            "Deprecated: The parent message is deprecated. The clarification question is for data fields. This is a generic term encompassing SQL columns, Looker fields (dimensions/measures), or nested data structure properties."
          ],
          "enumDeprecated": [
            true,
            true,
            true
          ],
          "deprecated": true
        },
        "options": {
          "items": {
            "type": "string"
          },
          "deprecated": true,
          "type": "array",
          "description": "Required. Deprecated: The parent message is deprecated. A list of distinct options for the user to choose from. The number of options is limited to a maximum of 5."
        },
        "question": {
          "deprecated": true,
          "type": "string",
          "description": "Required. Deprecated: The parent message is deprecated. The natural language question to ask the user."
        },
        "selectionMode": {
          "type": "string",
          "deprecated": true,
          "enum": [
            "SELECTION_MODE_UNSPECIFIED",
            "SINGLE_SELECT",
            "MULTI_SELECT"
          ],
          "enumDeprecated": [
            true,
            true,
            true
          ],
          "description": "Required. Deprecated: The parent message is deprecated. The selection mode for this question.",
          "enumDescriptions": [
            "Deprecated: The parent message is deprecated. Unspecified selection mode.",
            "Deprecated: The parent message is deprecated. The user can select only one option.",
            "Deprecated: The parent message is deprecated. The user can select multiple options."
          ]
        }
      },
      "deprecated": true,
      "description": "Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. Represents a single question to the user to help clarify their query.",
      "id": "GoogleCloudGeminidataanalyticsV1betaClarificationQuestion",
      "type": "object"
    },
    "A2aV1AgentCardSignature": {
      "properties": {
        "protected": {
          "type": "string",
          "description": "Required. The protected JWS header for the signature. This is always a base64url-encoded JSON object. Required."
        },
        "header": {
          "description": "The unprotected JWS header values.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object"
        },
        "signature": {
          "type": "string",
          "description": "Required. The computed signature, base64url-encoded. Required."
        }
      },
      "id": "A2aV1AgentCardSignature",
      "type": "object",
      "description": "AgentCardSignature represents a JWS signature of an AgentCard. This follows the JSON format of an RFC 7515 JSON Web Signature (JWS)."
    },
    "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsTokenBased": {
      "type": "object",
      "description": "Read more about Looker access tokens here: https://developers.looker.com/api/advanced-usage/looker-api-oauth",
      "properties": {
        "accessToken": {
          "description": "Required. The name of the secret containing the access token.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsTokenBased"
    },
    "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultValue": {
      "description": "Represents a single value within a row.",
      "properties": {
        "value": {
          "type": "string",
          "description": "The cell value, represented in a string format. Timestamps could be formatted, for example, using RFC3339Nano. This field is used if the value is not null."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultValue"
    },
    "GoogleCloudGeminidataanalyticsV1betaListMessagesResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token identifying a page of results the server should return."
        },
        "messages": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaStorageMessage"
          },
          "description": "The list of chat messages."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaListMessagesResponse",
      "description": "Response for listing chat messages."
    },
    "GoogleCloudGeminidataanalyticsV1betaOAuthCredentials": {
      "type": "object",
      "properties": {
        "token": {
          "description": "Token-based OAuth credentials.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsTokenBased"
        },
        "secret": {
          "description": "Secret-based OAuth credentials.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsSecretBased"
        }
      },
      "description": "Represents OAuth credentials.",
      "id": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentials"
    },
    "GoogleCloudGeminidataanalyticsV1betaQueryParameter": {
      "description": "A query parameter message represents a parameter that can be used to parameterize a SQL query.",
      "id": "GoogleCloudGeminidataanalyticsV1betaQueryParameter",
      "type": "object",
      "properties": {
        "description": {
          "description": "Optional. The description of the parameter that can be used by LLM to extract the parameter value from the user question.",
          "type": "string"
        },
        "dataType": {
          "description": "Required. The data type of the parameter, e.g. \"STRING\", \"INT64\", \"DATE\", etc. For valid values, see the [BigQuery documentation](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types). This will be used to populate google.cloud.bigquery.v2.QueryParameterType.type.",
          "type": "string"
        },
        "name": {
          "description": "Required. The name of the parameter reference in the SQL query.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1Policy": {
      "id": "GoogleIamV1Policy",
      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
      "properties": {
        "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).",
          "type": "integer",
          "format": "int32"
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "GoogleIamV1Binding"
          },
          "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`."
        },
        "auditConfigs": {
          "items": {
            "$ref": "GoogleIamV1AuditConfig"
          },
          "type": "array",
          "description": "Specifies cloud audit logging configuration for this policy."
        }
      },
      "type": "object"
    },
    "GoogleIamV1AuditConfig": {
      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.",
      "properties": {
        "auditLogConfigs": {
          "type": "array",
          "items": {
            "$ref": "GoogleIamV1AuditLogConfig"
          },
          "description": "The configuration for logging of each type of permission."
        },
        "service": {
          "type": "string",
          "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": "object",
      "id": "GoogleIamV1AuditConfig"
    },
    "GoogleCloudGeminidataanalyticsV1betaStorageMessage": {
      "properties": {
        "messageId": {
          "type": "string",
          "description": "The unique resource name of a chat message."
        },
        "message": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaMessage",
          "description": "The message content."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaStorageMessage",
      "description": "A stored message containing user message or system message."
    },
    "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParametersParameter": {
      "type": "object",
      "description": "Represents a single parameter for Parameterized Secure Views.",
      "id": "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParametersParameter",
      "properties": {
        "key": {
          "type": "string",
          "description": "Required. The parameter key (e.g., `\"user_id\"`)."
        },
        "value": {
          "type": "string",
          "description": "Required. The parameter value (e.g., `\"123\"`)."
        }
      }
    },
    "GoogleIamV1GetPolicyOptions": {
      "type": "object",
      "id": "GoogleIamV1GetPolicyOptions",
      "description": "Encapsulates settings provided to GetIamPolicy.",
      "properties": {
        "requestedPolicyVersion": {
          "type": "integer",
          "format": "int32",
          "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
        }
      }
    },
    "A2aV1Artifact": {
      "properties": {
        "name": {
          "description": "A human readable name for the artifact.",
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "description": "Optional metadata included with the artifact.",
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          }
        },
        "description": {
          "type": "string",
          "description": "A human readable description of the artifact, optional."
        },
        "extensions": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The URIs of extensions that are present or contributed to this Artifact."
        },
        "parts": {
          "type": "array",
          "description": "The content of the artifact.",
          "items": {
            "$ref": "A2aV1Part"
          }
        },
        "artifactId": {
          "type": "string",
          "description": "Unique identifier (e.g. UUID) for the artifact. It must be at least unique within a task."
        }
      },
      "description": "Artifacts are the container for task completed results. These are similar to Messages but are intended to be the product of a task, as opposed to point-to-point communication.",
      "id": "A2aV1Artifact",
      "type": "object"
    },
    "A2aV1AgentExtension": {
      "properties": {
        "uri": {
          "description": "The URI of the extension. Example: \"https://developers.google.com/identity/protocols/oauth2\"",
          "type": "string"
        },
        "required": {
          "type": "boolean",
          "description": "Whether the client must follow specific requirements of the extension. Example: false"
        },
        "params": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "type": "object",
          "description": "Optional configuration for the extension."
        },
        "description": {
          "type": "string",
          "description": "A description of how this agent uses this extension. Example: \"Google OAuth 2.0 authentication\""
        }
      },
      "id": "A2aV1AgentExtension",
      "type": "object",
      "description": "A declaration of an extension supported by an Agent."
    },
    "A2aV1MutualTlsSecurityScheme": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this security scheme."
        }
      },
      "id": "A2aV1MutualTlsSecurityScheme",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaMessage": {
      "type": "object",
      "description": "A message from an interaction between the user and the system.",
      "id": "GoogleCloudGeminidataanalyticsV1betaMessage",
      "properties": {
        "timestamp": {
          "description": "Output only. For user messages, this is the time at which the system received the message. For system messages, this is the time at which the system generated the message.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "messageId": {
          "type": "string",
          "description": "Optional. unique id of the message in the conversation for persistence."
        },
        "userMessage": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaUserMessage",
          "description": "A message from the user that is interacting with the system."
        },
        "systemMessage": {
          "description": "A message from the system in response to the user.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSystemMessage"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaQueryDataRequest": {
      "properties": {
        "prompt": {
          "description": "Required. The natural language query for which to generate query. Example: \"What are the top 5 best selling products this month?\"",
          "type": "string"
        },
        "generationOptions": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaGenerationOptions",
          "description": "Optional. Options to control query generation and execution behavior."
        },
        "context": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaQueryDataContext",
          "description": "Required. The context for the data query, including the data sources to use."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaQueryDataRequest",
      "description": "Request to query data from a natural language query.",
      "type": "object"
    },
    "A2aV1AgentSkill": {
      "properties": {
        "description": {
          "description": "A human (or llm) readable description of the skill details and behaviors.",
          "type": "string"
        },
        "name": {
          "description": "A human readable name for the skill.",
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A set of tags for the skill to enhance categorization/utilization. Example: [\"cooking\", \"customer support\", \"billing\"]"
        },
        "security": {
          "items": {
            "$ref": "A2aV1Security"
          },
          "type": "array",
          "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security schemes necessary for the agent to leverage this skill. As in the overall AgentCard.security, this list represents a logical OR of security requirement objects. Each object is a set of security schemes that must be used together (a logical AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED"
        },
        "examples": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "A set of example queries that this skill is designed to address. These examples should help the caller to understand how to craft requests to the agent to achieve specific goals. Example: [\"I need a recipe for bread\"]"
        },
        "inputModes": {
          "description": "Possible input modalities supported.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "outputModes": {
          "description": "Possible output modalities produced",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "id": {
          "type": "string",
          "description": "Unique identifier of the skill within this agent."
        }
      },
      "type": "object",
      "id": "A2aV1AgentSkill",
      "description": "AgentSkill represents a unit of action/solution that the agent can perform. One can think of this as a type of highly reliable solution that an agent can be tasked to provide. Agents have the autonomy to choose how and when to use specific skills, but clients should have confidence that if the skill is defined that unit of action can be reliably performed."
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutine": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutine",
      "properties": {
        "description": {
          "type": "string",
          "description": "User override or addition to description, to tell the agent when to use the UDF."
        },
        "routineReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutineReference",
          "description": "The reference to the BigQuery routine."
        }
      },
      "description": "A reference to a BigQuery routine.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsNoImage": {
      "description": "No image.",
      "properties": {},
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaChartOptionsImageOptionsNoImage"
    },
    "GoogleCloudGeminidataanalyticsV1betaPrivateLookerInstanceInfo": {
      "id": "GoogleCloudGeminidataanalyticsV1betaPrivateLookerInstanceInfo",
      "properties": {
        "lookerInstanceId": {
          "description": "The Looker instance id.",
          "type": "string"
        },
        "serviceDirectoryName": {
          "type": "string",
          "description": "The service directory name of the Looker instance."
        }
      },
      "type": "object",
      "description": "Message representing a private Looker instance info required if the Looker instance is behind a private network."
    },
    "GoogleCloudGeminidataanalyticsV1betaListAccessibleDataAgentsResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1betaListAccessibleDataAgentsResponse",
      "description": "Message for response to listing accessible DataAgents.",
      "type": "object",
      "properties": {
        "dataAgents": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDataAgent"
          },
          "type": "array",
          "description": "The list of accessible DataAgent."
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Unordered list. Locations that could not be reached."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference": {
      "properties": {
        "tableId": {
          "type": "string",
          "description": "Required. The name of the table as defined in the database. Note: The precise rules for table naming, including valid characters, length limits, and case sensitivity, are determined by the specific database system. Requirements: - Exact Match: The provided name must be identical to the name stored in the database. - Case Sensitivity: Respect the case sensitivity rules of the specific database system and how the table was created. For example, \"Orders\" and \"orders\" may be distinct table names. - Special Characters/Keywords: If the table name includes spaces, special characters, or is a database reserved keyword, provide the literal name as it is stored. Do not add any database-specific identifier quoting characters (e.g., \", `, []). Examples: - Simple name: \"orders\", \"UserActivity\" - Case sensitive: \"MyTable\" - Name with spaces: \"Order Details\" - Name with other special characters: \"user/data\", \"order-items\" - Name that is a keyword: \"Group\", \"Order\" Permissions: The caller's credentials must have the necessary database permissions to access the table's schema and data."
        },
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema",
          "description": "Optional. The schema of the table."
        }
      },
      "type": "object",
      "description": "Message representing a table including its schema.",
      "id": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
    },
    "GoogleCloudGeminidataanalyticsV1betaGenerationOptions": {
      "id": "GoogleCloudGeminidataanalyticsV1betaGenerationOptions",
      "properties": {
        "generateDebugInfo": {
          "description": "Optional. If true (default to false), returns internal debugging information.",
          "type": "boolean"
        },
        "generateExplanation": {
          "description": "Optional. If true, an explanation of the generated query will be returned in the response.",
          "type": "boolean"
        },
        "generateQueryResult": {
          "description": "Optional. If true, the generated query will be executed, and the result data will be returned in the response.",
          "type": "boolean"
        },
        "generateNaturalLanguageAnswer": {
          "description": "Optional. If true, a natural language answer based on the query execution result will be generated and returned in the response.",
          "type": "boolean"
        },
        "generateDisambiguationQuestion": {
          "description": "Optional. If true (default to false), the service may return a clarifying_question if the input query is ambiguous.",
          "type": "boolean"
        }
      },
      "description": "Options to control query generation, execution, and response format.",
      "type": "object"
    },
    "A2aV1SendMessageConfiguration": {
      "properties": {
        "acceptedOutputModes": {
          "description": "The output modes that the agent is expected to respond with.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pushNotification": {
          "$ref": "A2aV1PushNotificationConfig",
          "description": "A configuration of a webhook that can be used to receive updates"
        },
        "blocking": {
          "description": "If true, the message will be blocking until the task is completed. If false, the message will be non-blocking and the task will be returned immediately. It is the caller's responsibility to check for any task updates.",
          "type": "boolean"
        },
        "historyLength": {
          "format": "int32",
          "description": "The maximum number of messages to include in the history. if 0, the history will be unlimited.",
          "type": "integer"
        }
      },
      "id": "A2aV1SendMessageConfiguration",
      "description": "Configuration of a send message request.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaChartMessage": {
      "type": "object",
      "description": "A message produced during chart generation.",
      "id": "GoogleCloudGeminidataanalyticsV1betaChartMessage",
      "properties": {
        "result": {
          "description": "The result of a chart generation query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartResult"
        },
        "query": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartQuery",
          "description": "A query for generating a chart."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaCitationAnchorTextMessageCitationAnchor": {
      "properties": {
        "startOffsetBytes": {
          "description": "Output only. The offset, measured in UTF-8 bytes, within the part string where the citation begins (inclusive). Example: For the text \"Hello, world\" where \"world\" is cited, the start offset bytes (inclusive) is 7 and the end offset bytes (exclusive) is 12.",
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "sourceIds": {
          "type": "array",
          "description": "Output only. The ids of the sources that are cited.",
          "items": {
            "type": "string"
          },
          "readOnly": true
        },
        "endOffsetBytes": {
          "readOnly": true,
          "type": "integer",
          "format": "int32",
          "description": "Output only. The offset, measured in UTF-8 bytes, within the part string where the citation ends (exclusive). Example: For the text \"Hello, world\" where \"world\" is cited, the start offset bytes (inclusive) is 7 and the end offset bytes (exclusive) is 12."
        },
        "partIndex": {
          "type": "integer",
          "description": "Output only. The 0-based index of the part within the TextMessage.parts field.",
          "format": "int32",
          "readOnly": true
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaCitationAnchorTextMessageCitationAnchor",
      "description": "Citation anchor within a TextMessage.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryJob": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryJob",
      "type": "object",
      "description": "A BigQuery job executed by the system.",
      "properties": {
        "destinationTable": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference",
          "description": "Optional. A reference to the destination table of the job's query results. See [JobConfigurationQuery](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobconfigurationquery)."
        },
        "projectId": {
          "type": "string",
          "description": "Required. The project that the job belongs to. See [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference)."
        },
        "jobId": {
          "type": "string",
          "description": "Required. The ID of the job. See [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference)."
        },
        "location": {
          "type": "string",
          "description": "Optional. The location of the job. See [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference)."
        },
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema",
          "description": "Optional. The schema of the job's query results. See [JobStatistics2](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobstatistics2)."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaDynamicField": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDynamicField",
      "properties": {
        "type": {
          "type": "string",
          "description": "Optional. For custom measures, this identifies the type of aggregation (e.g. sum)."
        },
        "basedOn": {
          "type": "string",
          "description": "Optional. For custom measures, this identifies the measure the field is based on."
        },
        "calculationType": {
          "type": "string",
          "description": "Optional. Calculation type for table calculations. Refer to https://docs.cloud.google.com/looker/docs/reference/param-lookml-dashboard-table-chart#calculation_type for all possible values depending on the `category` of dynamic field."
        },
        "typeHint": {
          "description": "Optional. Identifies the data type the dynamic field's expression should produce.",
          "type": "string"
        },
        "label": {
          "description": "Optional. The label defines the display name of the dynamic field.",
          "type": "string"
        },
        "description": {
          "description": "Optional. Description of the dynamic field.",
          "type": "string"
        },
        "category": {
          "description": "Optional. The type of dynamic field: dimension, measure, table_calculation. Looker can use the category type to specify the name of the dynamic field. However, Looker Conversational Analytics keeps the category separate from the name of the dynamic field. For more details, see https://docs.cloud.google.com/looker/docs/reference/param-lookml-dashboard-table-chart#dynamic_fields.",
          "type": "string"
        },
        "valueFormat": {
          "type": "string",
          "description": "Optional. Value format for the dynamic field."
        },
        "kindHint": {
          "description": "Optional. Identifies whether the dynamic field returns a dimension or measure.",
          "type": "string"
        },
        "filterExpression": {
          "type": "string",
          "description": "Optional. Looker expression to filter a base measure."
        },
        "valueFormatName": {
          "type": "string",
          "description": "Optional. Value format name for the dynamic field if using a default named format."
        },
        "args": {
          "items": {
            "type": "string"
          },
          "description": "Optional. Arguments for custom groups, custom bins, or shortcut calculations. For more details, refer to https://docs.cloud.google.com/looker/docs/reference/param-lookml-dashboard-table-chart#args_for_custom_groups",
          "type": "array"
        },
        "isDisabled": {
          "type": "boolean",
          "description": "Optional. Whether the dynamic field is disabled."
        },
        "name": {
          "description": "Optional. The name of the dynamic field in LookML.",
          "type": "string"
        },
        "expression": {
          "description": "Optional. Looker expression to create a table calculation.",
          "type": "string"
        }
      },
      "description": "A dynamic field in Looker (Custom Dimension, Custom Measure, or Table Calculation).",
      "type": "object"
    },
    "A2aV1Security": {
      "properties": {
        "schemes": {
          "additionalProperties": {
            "$ref": "A2aV1StringList"
          },
          "type": "object"
        }
      },
      "id": "A2aV1Security",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaClientManagedResourceContext": {
      "type": "object",
      "description": "Context with client managed resources. Some clients may not use GDA managed resources including conversations and agents, instead they create and manage their own conversations and agents resources.",
      "properties": {
        "inlineContext": {
          "description": "Required. Context for the chat request. Use this to chat without GDA API managed conversation and agent persistence by passing all context inline.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaContext"
        },
        "agentId": {
          "description": "Optional. The client managed agent id.",
          "type": "string"
        },
        "conversationId": {
          "type": "string",
          "description": "Optional. The client managed conversation id."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaClientManagedResourceContext"
    },
    "GoogleCloudGeminidataanalyticsV1betaDataQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDataQuery",
      "properties": {
        "datasources": {
          "description": "Optional. The datasources available to answer the question.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatasource"
          }
        },
        "question": {
          "type": "string",
          "description": "Optional. A natural language question to answer."
        },
        "name": {
          "description": "Optional. A snake-case name for the query that reflects its intent. It is used to name the corresponding data result, so that it can be referenced in later steps. * Example: \"total_sales_by_product\" * Example: \"sales_for_product_12345\"",
          "type": "string"
        },
        "looker": {
          "description": "Optional. A query for retrieving data from a Looker explore.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerQuery"
        }
      },
      "description": "A query for retrieving data.",
      "type": "object"
    },
    "A2aV1FilePart": {
      "type": "object",
      "id": "A2aV1FilePart",
      "description": "FilePart represents the different ways files can be provided. If files are small, directly feeding the bytes is supported via file_with_bytes. If the file is large, the agent should read the content as appropriate directly from the file_with_uri source.",
      "properties": {
        "name": {
          "type": "string"
        },
        "fileWithUri": {
          "type": "string"
        },
        "fileWithBytes": {
          "type": "string",
          "format": "byte"
        },
        "mimeType": {
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaUserFunctions": {
      "id": "GoogleCloudGeminidataanalyticsV1betaUserFunctions",
      "properties": {
        "bqRoutines": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutine"
          },
          "description": "A list of BigQuery routines to include in the context.",
          "type": "array"
        }
      },
      "description": "A collection of user functions to be included in context.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference": {
      "description": "Message representing a reference to a single BigQuery table.",
      "type": "object",
      "properties": {
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema",
          "description": "Optional. The schema of the datasource."
        },
        "projectId": {
          "description": "Required. The project that the table belongs to.",
          "type": "string"
        },
        "tableId": {
          "type": "string",
          "description": "Required. The table id."
        },
        "datasetId": {
          "description": "Required. The dataset that the table belongs to.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference"
    },
    "A2aV1AgentInterface": {
      "id": "A2aV1AgentInterface",
      "description": "Defines additional transport information for the agent.",
      "properties": {
        "url": {
          "type": "string",
          "description": "The url this interface is found at."
        },
        "transport": {
          "description": "The transport supported this url. This is an open form string, to be easily extended for many transport protocols. The core ones officially supported are JSONRPC, GRPC and HTTP+JSON.",
          "type": "string"
        },
        "tenant": {
          "type": "string",
          "description": "Tenant to be set in the request when calling the agent. Experimental, might still change for 1.0 release."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaConversation": {
      "properties": {
        "lastUsedTime": {
          "description": "Output only. Timestamp of the last used conversation.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "name": {
          "description": "Optional. Identifier. The unique resource name of a conversation. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}` `{conversation_id}` is the resource id and should be 63 characters or less and must match the format described in https://google.aip.dev/122#resource-id-segments Example: `projects/1234567890/locations/global/conversations/my-conversation`. It is recommended to skip setting this field during conversation creation as it will be inferred automatically and overwritten with the {parent}/conversations/{conversation_id}.",
          "type": "string"
        },
        "agents": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Required. Agent(s) in the conversation. Currently, only one agent is supported. This field is repeated to allow for future support of multiple agents in a conversation. Format: `projects/{project}/locations/{location}/dataAgents/{agent}`"
        },
        "createTime": {
          "description": "Output only. Creation timestamp.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Open-ended and user-defined labels that can be set by the client to tag a conversation (e.g. to filter conversations for specific surfaces/products)."
        },
        "title": {
          "description": "Optional. The display name for the conversation (max 63 chars).",
          "type": "string"
        },
        "kmsKey": {
          "type": "string",
          "description": "Optional. Customer managed encryption key (CMEK) to use for encrypting the Conversation resources. Encryption will happen at Titan layer, we will pass the KMS key to Titan. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_name}/cryptoKeys/{key_name}."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaConversation",
      "type": "object",
      "description": "Message for a conversation."
    },
    "A2aV1StreamResponse": {
      "type": "object",
      "properties": {
        "artifactUpdate": {
          "$ref": "A2aV1TaskArtifactUpdateEvent"
        },
        "message": {
          "$ref": "A2aV1Message"
        },
        "statusUpdate": {
          "$ref": "A2aV1TaskStatusUpdateEvent"
        },
        "task": {
          "$ref": "A2aV1Task"
        }
      },
      "description": "The stream response for a message. The stream should be one of the following sequences: If the response is a message, the stream should contain one, and only one, message and then close If the response is a task lifecycle, the first response should be a Task object followed by zero or more TaskStatusUpdateEvents and TaskArtifactUpdateEvents. The stream should complete when the Task if in an interrupted or terminal state. A stream that ends before these conditions are met are",
      "id": "A2aV1StreamResponse"
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReferences": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReferences",
      "properties": {
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        },
        "tableReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReference"
          },
          "type": "array",
          "description": "Optional. References to BigQuery tables."
        },
        "propertyGraphReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryPropertyGraphReference"
          },
          "type": "array",
          "description": "Optional. References to BigQuery graphs. Note: \"property graph\" is the former name for BigQuery Graph. The field and message names retain the original term for backward compatibility; both refer to the same resource."
        }
      },
      "description": "Message representing references to BigQuery tables and property graphs. At least one of `table_references` or `property_graph_references` must be populated.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaCitationSource": {
      "id": "GoogleCloudGeminidataanalyticsV1betaCitationSource",
      "properties": {
        "uri": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The uri used as the source, such as a web grounding URL."
        },
        "id": {
          "type": "string",
          "description": "Output only. Unique identifier of the source. This ID is service-generated and is unique within the scope of a single `Citation` message.",
          "readOnly": true
        },
        "glossaryTerm": {
          "readOnly": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1betaGlossaryTerm",
          "description": "Output only. The glossary term used as the source."
        },
        "exampleQuery": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaExampleQuery",
          "description": "Output only. The example query used as the source.",
          "readOnly": true
        },
        "title": {
          "description": "Output only. The title of the source.",
          "type": "string",
          "readOnly": true
        }
      },
      "description": "The source of the citation.",
      "type": "object"
    },
    "A2aV1OAuthFlows": {
      "type": "object",
      "id": "A2aV1OAuthFlows",
      "properties": {
        "implicit": {
          "$ref": "A2aV1ImplicitOAuthFlow"
        },
        "password": {
          "$ref": "A2aV1PasswordOAuthFlow"
        },
        "clientCredentials": {
          "$ref": "A2aV1ClientCredentialsOAuthFlow"
        },
        "authorizationCode": {
          "$ref": "A2aV1AuthorizationCodeOAuthFlow"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaListConversationsResponse": {
      "type": "object",
      "description": "Message for response to listing conversations.",
      "properties": {
        "conversations": {
          "description": "The list of conversations.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaConversation"
          }
        },
        "nextPageToken": {
          "description": "A token identifying a page of results the server should return.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaListConversationsResponse"
    },
    "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationshipSchemaPaths": {
      "description": "Represents an ordered set of paths within the table schema.",
      "type": "object",
      "properties": {
        "paths": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The ordered list of paths within the table schema."
        },
        "tableFqn": {
          "description": "The service-qualified full resource name of the table Ex: bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaContextSchemaRelationshipSchemaPaths"
    },
    "A2aV1TaskStatus": {
      "type": "object",
      "properties": {
        "message": {
          "description": "A message associated with the status.",
          "$ref": "A2aV1Message"
        },
        "state": {
          "type": "string",
          "description": "The current state of this task",
          "enumDescriptions": [
            "",
            "Represents the status that acknowledges a task is created",
            "Represents the status that a task is actively being processed",
            "Represents the status a task is finished. This is a terminal state",
            "Represents the status a task is done but failed. This is a terminal state",
            "Represents the status a task was cancelled before it finished. This is a terminal state.",
            "Represents the status that the task requires information to complete. This is an interrupted state.",
            "Represents the status that the agent has decided to not perform the task. This may be done during initial task creation or later once an agent has determined it can't or won't proceed. This is a terminal state.",
            "Represents the state that some authentication is needed from the upstream client. Authentication is expected to come out-of-band thus this is not an interrupted or terminal state."
          ],
          "enum": [
            "TASK_STATE_UNSPECIFIED",
            "TASK_STATE_SUBMITTED",
            "TASK_STATE_WORKING",
            "TASK_STATE_COMPLETED",
            "TASK_STATE_FAILED",
            "TASK_STATE_CANCELLED",
            "TASK_STATE_INPUT_REQUIRED",
            "TASK_STATE_REJECTED",
            "TASK_STATE_AUTH_REQUIRED"
          ]
        },
        "timestamp": {
          "format": "google-datetime",
          "type": "string",
          "description": "Timestamp when the status was recorded. Example: \"2023-10-27T10:00:00Z\""
        }
      },
      "description": "A container for the status of a task",
      "id": "A2aV1TaskStatus"
    },
    "GoogleCloudGeminidataanalyticsV1betaAnalysisEvent": {
      "properties": {
        "resultNaturalLanguage": {
          "type": "string",
          "description": "Result as NL string."
        },
        "resultCsvData": {
          "description": "Result as CSV string.",
          "type": "string"
        },
        "coderInstruction": {
          "description": "Instructions issued for code generation.",
          "type": "string"
        },
        "error": {
          "type": "string",
          "description": "A generic error message."
        },
        "plannerReasoning": {
          "description": "Python codegen planner's reasoning.",
          "type": "string"
        },
        "executionOutput": {
          "description": "Output from code execution.",
          "type": "string"
        },
        "executionError": {
          "type": "string",
          "description": "An error from code execution."
        },
        "resultReferenceData": {
          "description": "Result as a reference to a data source.",
          "type": "string"
        },
        "code": {
          "type": "string",
          "description": "Generated code."
        },
        "resultVegaChartJson": {
          "description": "Result as Vega chart JSON string.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "An event indicating the progress of an analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1betaAnalysisEvent"
    },
    "GoogleCloudGeminidataanalyticsV1betaAnalysisOptionsPython": {
      "type": "object",
      "description": "Options for Python analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1betaAnalysisOptionsPython",
      "properties": {
        "enabled": {
          "description": "Optional. Whether to enable Python analysis. Defaults to false.",
          "type": "boolean"
        }
      }
    },
    "A2aV1OpenIdConnectSecurityScheme": {
      "id": "A2aV1OpenIdConnectSecurityScheme",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this security scheme."
        },
        "openIdConnectUrl": {
          "type": "string",
          "description": "Well-known URL to discover the [[OpenID-Connect-Discovery]] provider metadata."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaGlossaryTerm": {
      "description": "Definition of a term within a specific domain.",
      "properties": {
        "displayName": {
          "description": "Required. User friendly display name of the glossary term being defined. For example: \"CTR\", \"conversion rate\", \"pending\" Must be at most 256 bytes.",
          "type": "string"
        },
        "labels": {
          "type": "array",
          "description": "Optional. A list of general purpose labels associated to this term. For example: [\"click rate\", \"clickthrough\", \"waiting\"]",
          "items": {
            "type": "string"
          }
        },
        "description": {
          "description": "Required. The description or meaning of the term. For example: \"Click-through rate\", \"The percentage of users who complete a desired action\", \"An order that is waiting to be processed.\" Must be at most 5,000 bytes (approx. 5,000 characters).",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaGlossaryTerm",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutineReference": {
      "properties": {
        "projectId": {
          "description": "The project ID of the routine.",
          "type": "string"
        },
        "routineId": {
          "type": "string",
          "description": "The routine ID of the routine."
        },
        "datasetId": {
          "description": "The dataset ID of the routine.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaBigQueryRoutineReference",
      "description": "A reference to a BigQuery routine."
    },
    "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReferences": {
      "description": "Message representing references to Looker Studio datasources.",
      "properties": {
        "studioReferences": {
          "description": "Optional. The references to the studio datasources.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReference"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReferences",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaAnalysisMessage": {
      "description": "A message produced during analysis.",
      "properties": {
        "query": {
          "description": "An analysis query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAnalysisQuery"
        },
        "progressEvent": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAnalysisEvent",
          "description": "An event indicating the progress of the analysis."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaAnalysisMessage",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaChartQuery": {
      "properties": {
        "dataResultName": {
          "description": "Optional. The name of a previously retrieved data result to use in the chart.",
          "type": "string"
        },
        "instructions": {
          "type": "string",
          "description": "Optional. Natural language instructions for generating the chart."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaChartQuery",
      "description": "A query for generating a chart.",
      "type": "object"
    },
    "A2aV1AuthenticationInfo": {
      "description": "Defines authentication details, used for push notifications.",
      "id": "A2aV1AuthenticationInfo",
      "type": "object",
      "properties": {
        "schemes": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Supported authentication schemes - e.g. Basic, Bearer, etc"
        },
        "credentials": {
          "type": "string",
          "description": "Optional credentials"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaAgentContextReference": {
      "description": "Message representing a reference to Agent Context.",
      "id": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
      "type": "object",
      "properties": {
        "contextSetId": {
          "description": "Required. Context set ID to retrieve.",
          "type": "string"
        }
      }
    },
    "A2aV1OAuth2SecurityScheme": {
      "id": "A2aV1OAuth2SecurityScheme",
      "properties": {
        "oauth2MetadataUrl": {
          "type": "string",
          "description": "URL to the oauth2 authorization server metadata [RFC8414](https://datatracker.ietf.org/doc/html/rfc8414). TLS is required."
        },
        "flows": {
          "description": "An object containing configuration information for the flow types supported",
          "$ref": "A2aV1OAuthFlows"
        },
        "description": {
          "description": "Description of this security scheme.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleLongrunningCancelOperationRequest": {
      "properties": {},
      "type": "object",
      "id": "GoogleLongrunningCancelOperationRequest",
      "description": "The request message for Operations.CancelOperation."
    },
    "GoogleCloudGeminidataanalyticsV1betaErrorMessage": {
      "id": "GoogleCloudGeminidataanalyticsV1betaErrorMessage",
      "type": "object",
      "description": "An error message from a tool call. This message is used to represent an error that occurred while an agent was trying to use a tool. It's important to note that not all errors are terminal. Many are recoverable, and the agent may use the information from this error message to self-correct and retry the tool call or try a different approach. For example, if a data query fails, the agent might receive an `ErrorMessage`, analyze it, and then generate a corrected query. Clients should be cautious about interpreting this message as a definitive failure. It can be part of the agent's normal, iterative process of completing a task. Surfacing these errors directly to end-users without context (e.g., as a \"hard failure\") may be misleading.",
      "properties": {
        "text": {
          "type": "string",
          "description": "Output only. The text of the error.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaBigtableReference": {
      "type": "object",
      "description": "Message representing reference to a Bigtable instance and agent context.",
      "properties": {
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigtableDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        },
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaBigtableReference"
    },
    "A2aV1SendMessageResponse": {
      "id": "A2aV1SendMessageResponse",
      "type": "object",
      "description": "////// Response Messages ///////////",
      "properties": {
        "message": {
          "$ref": "A2aV1Message"
        },
        "task": {
          "$ref": "A2aV1Task"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaSchema": {
      "description": "The schema of a Datasource or QueryResult instance.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaSchema",
      "properties": {
        "displayName": {
          "description": "Optional. Table display_name (same as label in cloud/data_analytics/anarres/data/looker/proto/model_explore.proto), not required, currently only Looker has this field.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Optional. A textual description of the table's content and purpose. For example: \"Contains information about customer orders in our e-commerce store.\" Currently only used for BigQuery data sources."
        },
        "filters": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDataFilter"
          },
          "description": "Optional. The filters on the datasource's underlying data. Currently only used for Looker data sources.",
          "type": "array"
        },
        "synonyms": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. A list of alternative names or synonyms that can be used to refer to the table. For example: [\"sales\", \"orders\", \"purchases\"]. Currently only used for BigQuery data sources."
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. A list of tags or keywords associated with the table, used for categorization. For example: [\"transaction\", \"revenue\", \"customer_data\"]. Currently only used for BigQuery data sources."
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaField"
          },
          "description": "Optional. The fields in the schema."
        }
      }
    },
    "A2aV1AgentCard": {
      "properties": {
        "provider": {
          "description": "The service provider of the agent.",
          "$ref": "A2aV1AgentProvider"
        },
        "capabilities": {
          "description": "A2A Capability set supported by the agent.",
          "$ref": "A2aV1AgentCapabilities"
        },
        "securitySchemes": {
          "type": "object",
          "description": "The security scheme details used for authenticating with this agent.",
          "additionalProperties": {
            "$ref": "A2aV1SecurityScheme"
          }
        },
        "defaultInputModes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "protolint:enable REPEATED_FIELD_NAMES_PLURALIZED The set of interaction modes that the agent supports across all skills. This can be overridden per skill. Defined as mime types."
        },
        "supportsAuthenticatedExtendedCard": {
          "description": "Whether the agent supports providing an extended agent card when the user is authenticated, i.e. is the card from .well-known different than the card from GetAgentCard.",
          "type": "boolean"
        },
        "signatures": {
          "items": {
            "$ref": "A2aV1AgentCardSignature"
          },
          "type": "array",
          "description": "JSON Web Signatures computed for this AgentCard."
        },
        "skills": {
          "description": "Skills represent a unit of ability an agent can perform. This may somewhat abstract but represents a more focused set of actions that the agent is highly likely to succeed at.",
          "type": "array",
          "items": {
            "$ref": "A2aV1AgentSkill"
          }
        },
        "version": {
          "type": "string",
          "description": "The version of the agent. Example: \"1.0.0\""
        },
        "security": {
          "items": {
            "$ref": "A2aV1Security"
          },
          "description": "protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Security requirements for contacting the agent. This list can be seen as an OR of ANDs. Each object in the list describes one possible set of security requirements that must be present on a request. This allows specifying, for example, \"callers must either use OAuth OR an API Key AND mTLS.\" Example: security { schemes { key: \"oauth\" value { list: [\"read\"] } } } security { schemes { key: \"api-key\" } schemes { key: \"mtls\" } }",
          "type": "array"
        },
        "preferredTransport": {
          "type": "string",
          "description": "The transport of the preferred endpoint. If empty, defaults to JSONRPC."
        },
        "iconUrl": {
          "description": "An optional URL to an icon for the agent.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "A human readable name for the agent. Example: \"Recipe Agent\""
        },
        "description": {
          "description": "A description of the agent's domain of action/solution space. Example: \"Agent that helps users with recipes and cooking.\"",
          "type": "string"
        },
        "protocolVersion": {
          "type": "string",
          "description": "The version of the A2A protocol this agent supports."
        },
        "documentationUrl": {
          "description": "A url to provide additional documentation about the agent.",
          "type": "string"
        },
        "defaultOutputModes": {
          "description": "The mime types supported as outputs from this agent.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "url": {
          "type": "string",
          "description": "A URL to the address the agent is hosted at. This represents the preferred endpoint as declared by the agent."
        },
        "additionalInterfaces": {
          "items": {
            "$ref": "A2aV1AgentInterface"
          },
          "type": "array",
          "description": "Announcement of additional supported transports. Client can use any of the supported transports."
        }
      },
      "description": "AgentCard conveys key information: - Overall details (version, name, description, uses) - Skills; a set of actions/solutions the agent can perform - Default modalities/content types supported by the agent. - Authentication requirements Next ID: 19",
      "type": "object",
      "id": "A2aV1AgentCard"
    },
    "GoogleCloudGeminidataanalyticsV1betaConversationOptions": {
      "description": "Options for the conversation.",
      "id": "GoogleCloudGeminidataanalyticsV1betaConversationOptions",
      "properties": {
        "datasource": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDatasourceOptions",
          "description": "Optional. Options for datasources."
        },
        "analysis": {
          "description": "Optional. Options for analysis.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAnalysisOptions"
        },
        "chart": {
          "description": "Optional. Options for chart generation.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartOptions"
        },
        "model": {
          "type": "string",
          "enum": [
            "MODEL_UNSPECIFIED",
            "LATEST_GA_MODEL"
          ],
          "description": "Optional. The model to use for the agent loop.",
          "enumDescriptions": [
            "No model specified. The model may be set on the chat request, or the default model will be used.",
            "Use the most up-to-date non-preview model. This may constrain certain request level settings."
          ]
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaSchemaResult": {
      "properties": {
        "datasources": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatasource"
          },
          "description": "Optional. The datasources used to resolve the schema query."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaSchemaResult",
      "description": "The result of schema resolution.",
      "type": "object"
    },
    "A2aV1SendMessageRequest": {
      "id": "A2aV1SendMessageRequest",
      "description": "/////////// Request Messages ///////////",
      "type": "object",
      "properties": {
        "configuration": {
          "$ref": "A2aV1SendMessageConfiguration",
          "description": "Configuration for the send request."
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "Optional metadata for the request."
        },
        "message": {
          "description": "Required. The message to send to the agent.",
          "$ref": "A2aV1Message"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsSecretBased": {
      "id": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentialsSecretBased",
      "description": "The name of the secret containing the access token. Represents secret-based OAuth credentials.",
      "properties": {
        "clientId": {
          "type": "string",
          "description": "Required. An OAuth client ID."
        },
        "clientSecret": {
          "type": "string",
          "description": "Required. An OAuth client secret."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaExampleQueries": {
      "id": "GoogleCloudGeminidataanalyticsV1betaExampleQueries",
      "properties": {
        "exampleQueries": {
          "description": "Optional. A list of derived and authored example queries, providing examples of relevant and commonly used SQL queries and their corresponding natural language queries optionally present. Currently only used for BigQuery data sources.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaExampleQuery"
          }
        }
      },
      "type": "object",
      "description": "A message containing derived and authored example queries."
    },
    "A2aV1AuthorizationCodeOAuthFlow": {
      "type": "object",
      "id": "A2aV1AuthorizationCodeOAuthFlow",
      "properties": {
        "tokenUrl": {
          "type": "string",
          "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        },
        "refreshUrl": {
          "type": "string",
          "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        },
        "authorizationUrl": {
          "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS",
          "type": "string"
        },
        "scopes": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.",
          "type": "object"
        }
      }
    },
    "GoogleIamV1AuditLogConfig": {
      "properties": {
        "exemptedMembers": {
          "items": {
            "type": "string"
          },
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
          "type": "array"
        },
        "logType": {
          "description": "The log type that this config enables.",
          "type": "string",
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ]
        }
      },
      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
      "id": "GoogleIamV1AuditLogConfig",
      "type": "object"
    },
    "A2aV1ImplicitOAuthFlow": {
      "id": "A2aV1ImplicitOAuthFlow",
      "properties": {
        "scopes": {
          "type": "object",
          "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "authorizationUrl": {
          "type": "string",
          "description": "The authorization URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS"
        },
        "refreshUrl": {
          "type": "string",
          "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaOperationMetadata": {
      "description": "Represents the metadata of the long-running operation.",
      "id": "GoogleCloudGeminidataanalyticsV1betaOperationMetadata",
      "properties": {
        "target": {
          "readOnly": true,
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "type": "string"
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "readOnly": true,
          "type": "string"
        },
        "statusMessage": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Human-readable status of the operation, if any."
        },
        "verb": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the verb executed by the operation."
        },
        "endTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. The time the operation finished running."
        },
        "requestedCancellation": {
          "readOnly": true,
          "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
          "type": "boolean"
        },
        "createTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. The time the operation was created.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaDatasourceReferences": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDatasourceReferences",
      "properties": {
        "cloudSqlReference": {
          "description": "Reference to a CloudSql database. Only supported for the `QueryData` method.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCloudSqlReference"
        },
        "bigtableReference": {
          "description": "Reference to a Bigtable instance.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigtableReference"
        },
        "alloydb": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAlloyDbReference",
          "description": "Reference to an AlloyDB database. Only supported for the `QueryData` method."
        },
        "bq": {
          "description": "References to BigQuery tables.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBigQueryTableReferences"
        },
        "firestoreReference": {
          "description": "Reference to a Firestore database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaFirestoreReference"
        },
        "studio": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReferences",
          "description": "References to Looker Studio datasources."
        },
        "looker": {
          "description": "References to Looker Explores.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerExploreReferences"
        },
        "spannerReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSpannerReference",
          "description": "Reference to a Spanner database. Only supported for the `QueryData` method."
        }
      },
      "description": "A collection of references to datasources.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaChartResult": {
      "type": "object",
      "description": "The result of a chart generation query.",
      "properties": {
        "image": {
          "description": "Optional. A rendering of the chart if this was requested in the context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaBlob"
        },
        "vegaConfig": {
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object",
          "description": "Optional. A generated Vega chart config. See https://vega.github.io/vega/docs/config/"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaChartResult"
    },
    "GoogleCloudGeminidataanalyticsV1betaQueryParameterValues": {
      "properties": {
        "name": {
          "description": "Required. The name of the parameter.",
          "type": "string"
        },
        "value": {
          "type": "string",
          "description": "Required. The value of the parameter."
        }
      },
      "description": "A query parameter values message represents the values for the query parameters that were extracted from the user question by LLM, based on the example query.",
      "id": "GoogleCloudGeminidataanalyticsV1betaQueryParameterValues",
      "type": "object"
    },
    "A2aV1TaskStatusUpdateEvent": {
      "properties": {
        "contextId": {
          "description": "The id of the context that the task belongs to",
          "type": "string"
        },
        "taskId": {
          "type": "string",
          "description": "The id of the task that is changed"
        },
        "final": {
          "type": "boolean",
          "description": "Whether this is the last status update expected for this task."
        },
        "status": {
          "$ref": "A2aV1TaskStatus",
          "description": "The new status of the task."
        },
        "metadata": {
          "type": "object",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "description": "Optional metadata to associate with the task update."
        }
      },
      "description": "TaskStatusUpdateEvent is a delta even on a task indicating that a task has changed.",
      "type": "object",
      "id": "A2aV1TaskStatusUpdateEvent"
    },
    "GoogleCloudGeminidataanalyticsV1betaBigtableDatabaseReference": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBigtableDatabaseReference",
      "description": "Message representing reference to Bigtable database.",
      "type": "object",
      "properties": {
        "instanceId": {
          "description": "Required. The instance id.",
          "type": "string"
        },
        "projectId": {
          "description": "Required. The project the instance belongs to.",
          "type": "string"
        },
        "databaseTableReferences": {
          "description": "Optional. References to tables within the database. Each reference specifies a table and can optionally include the table's schema to provide context for the query.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
          },
          "type": "array"
        },
        "tableIds": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The table ids. Denotes all tables if unset.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaTokenUsage": {
      "properties": {
        "outputTokenCount": {
          "format": "int32",
          "type": "integer",
          "description": "The total number of output tokens used in this request."
        },
        "inputTokenCount": {
          "type": "integer",
          "format": "int32",
          "description": "The total number of input tokens used in this request."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaTokenUsage",
      "description": "Overall token usage tracking for the response.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaSchemaMessage": {
      "description": "A message produced during schema resolution.",
      "type": "object",
      "properties": {
        "result": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchemaResult",
          "description": "The result of a schema resolution query."
        },
        "query": {
          "description": "A schema resolution query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchemaQuery"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaSchemaMessage"
    },
    "GoogleCloudGeminidataanalyticsV1betaDataResult": {
      "description": "Retrieved data.",
      "properties": {
        "formattedData": {
          "type": "array",
          "description": "Optional. Formatted representation of the data, when applicable. Each row is a struct that directly corresponds to the row at the same index within the `data` field. Its values are string representations of the original data, formatted according to data source specifications (e.g., \"$1,234.56\" for currency). Columns without formatting will default to their raw value representation. If no columns have formatting rules, this field will be empty.",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object."
            }
          }
        },
        "data": {
          "description": "Optional. The content of the data. Each row is a struct that matches the schema. Simple values are represented as strings, while nested structures are represented as lists or structs.",
          "type": "array",
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object."
            },
            "type": "object"
          }
        },
        "schema": {
          "description": "Optional. The schema of the data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema"
        },
        "name": {
          "description": "Optional. A snake-case name for the data result that reflects its contents. The name is used to pass the result around by reference, and serves as a signal about its meaning. * Example: \"total_sales_by_product\" * Example: \"sales_for_product_12345\"",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaDataResult",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaMatchedQuery": {
      "type": "object",
      "description": "A matched query message represents the agent having matched one of the example queries supplied in context as being applicable to the current question. It will also contain additional info during the matching process.",
      "properties": {
        "exampleQuery": {
          "description": "The query that was matched based on an example query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaExampleQuery"
        },
        "queryParameterValues": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaQueryParameterValues"
          },
          "description": "The extracted values for the query parameters."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaMatchedQuery"
    },
    "GoogleCloudGeminidataanalyticsV1betaRetrieveAgentOpsObservabilityResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1betaRetrieveAgentOpsObservabilityResponse",
      "description": "Response for RetrieveAgentOpsObservability.",
      "type": "object",
      "properties": {
        "telemetryEnabled": {
          "readOnly": true,
          "type": "boolean",
          "description": "Output only. Whether AgentOps observability telemetry is enabled."
        },
        "cloudTraceEnabled": {
          "type": "boolean",
          "description": "Output only. Whether Cloud Trace API is enabled.",
          "readOnly": true
        },
        "bigqueryEnabled": {
          "type": "boolean",
          "description": "Output only. Whether BigQuery API is enabled.",
          "readOnly": true
        },
        "cloudMonitoringEnabled": {
          "type": "boolean",
          "description": "Output only. Whether Cloud Monitoring API is enabled.",
          "readOnly": true
        },
        "cloudLoggingEnabled": {
          "readOnly": true,
          "description": "Output only. Whether Cloud Logging API is enabled.",
          "type": "boolean"
        },
        "bqaaEnabled": {
          "description": "Output only. Whether BigQuery Agent Analytics is enabled.",
          "type": "boolean",
          "readOnly": true
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaCredentials": {
      "properties": {
        "oauth": {
          "description": "OAuth credentials.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaOAuthCredentials"
        }
      },
      "type": "object",
      "description": "Represents different forms of credential specification.",
      "id": "GoogleCloudGeminidataanalyticsV1betaCredentials"
    },
    "GoogleCloudGeminidataanalyticsV1betaClarificationMessage": {
      "deprecated": true,
      "description": "Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. A message of questions to help clarify the user's query. This is returned when the system cannot confidently answer the user's question.",
      "properties": {
        "questions": {
          "deprecated": true,
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaClarificationQuestion"
          },
          "description": "Required. Deprecated: The parent message is deprecated. A batch of clarification questions to ask the user."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaClarificationMessage",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaSchemaQuery": {
      "description": "A query for resolving the schema relevant to the posed question.",
      "id": "GoogleCloudGeminidataanalyticsV1betaSchemaQuery",
      "properties": {
        "question": {
          "type": "string",
          "description": "Optional. The question to send to the system for schema resolution."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaSystemMessage": {
      "description": "A message from the system in response to the user. This message can also be a message from the user as historical context for multi-turn conversations with the system.",
      "properties": {
        "citation": {
          "description": "Output only. Citation information for the system message.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCitation",
          "readOnly": true
        },
        "clarification": {
          "deprecated": true,
          "description": "Optional. Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. A message containing clarification questions.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaClarificationMessage"
        },
        "analysis": {
          "description": "A message produced during analysis.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAnalysisMessage"
        },
        "groupId": {
          "description": "Identifies the group that the event belongs to. Similar events are deemed to be logically relevant to each other and should be shown together in the UI.",
          "format": "int32",
          "type": "integer"
        },
        "text": {
          "description": "A direct natural language response to the user message.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaTextMessage"
        },
        "exampleQueries": {
          "description": "Optional. A message containing example queries.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaExampleQueries"
        },
        "schema": {
          "description": "A message produced during schema resolution.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchemaMessage"
        },
        "chart": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaChartMessage",
          "description": "A message produced during chart generation."
        },
        "error": {
          "description": "An error message.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaErrorMessage"
        },
        "data": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDataMessage",
          "description": "A message produced during data retrieval."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaSystemMessage",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaField": {
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Optional. Field display_name (same as label in"
        },
        "valueFormat": {
          "description": "Optional. Looker only. Value format of the field. Ref: https://cloud.google.com/looker/docs/reference/param-field-value-format",
          "type": "string"
        },
        "type": {
          "type": "string",
          "description": "Optional. The type of the field."
        },
        "mode": {
          "description": "Optional. The mode of the field (e.g., NULLABLE, REPEATED).",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Optional. The name of the field."
        },
        "description": {
          "description": "Optional. A brief description of the field.",
          "type": "string"
        },
        "subfields": {
          "description": "Optional. Recursive property for nested schema structures.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaField"
          }
        },
        "tags": {
          "description": "Optional. A list of tags or keywords associated with the field, used for categorization. For example: [\"identifier\", \"customer\", \"pii\"]. Currently only used for BigQuery data sources.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "category": {
          "description": "Optional. Field category, not required, currently only useful for Looker.",
          "type": "string"
        },
        "synonyms": {
          "description": "Optional. A list of alternative names or synonyms that can be used to refer to this field. For example: [\"id\", \"customerid\", \"cust_id\"]. Currently only used for BigQuery data sources.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaField",
      "description": "A field in a schema."
    },
    "A2aV1Part": {
      "description": "Part represents a container for a section of communication content. Parts can be purely textual, some sort of file (image, video, etc) or a structured data blob (i.e. JSON).",
      "id": "A2aV1Part",
      "properties": {
        "text": {
          "type": "string"
        },
        "data": {
          "$ref": "A2aV1DataPart"
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "description": "Optional metadata associated with this part.",
          "type": "object"
        },
        "file": {
          "$ref": "A2aV1FilePart"
        }
      },
      "type": "object"
    },
    "GoogleCloudLocationLocation": {
      "id": "GoogleCloudLocationLocation",
      "properties": {
        "labels": {
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "name": {
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "metadata": {
          "type": "object",
          "description": "Service-specific metadata. For example the available capacity at the given location.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          }
        }
      },
      "type": "object",
      "description": "A resource that represents a Google Cloud location."
    },
    "GoogleCloudGeminidataanalyticsV1betaDataAgentContext": {
      "type": "object",
      "properties": {
        "contextVersion": {
          "enumDescriptions": [
            "Unspecified or unrecognized.",
            "Using this version, DCS will use the latest staging context for the data agent.",
            "Using this version, DCS will use the latest published context for the data agent."
          ],
          "enum": [
            "CONTEXT_VERSION_UNSPECIFIED",
            "STAGING",
            "PUBLISHED"
          ],
          "description": "Optional. Version of context to be used by DCS (e.g. STAGING, PUBLISHED)",
          "type": "string"
        },
        "dataAgent": {
          "type": "string",
          "description": "Required. The name of the data agent resource."
        },
        "credentials": {
          "description": "Optional. Deprecated: Use credentials in ChatRequest. The credentials to use when calling the Looker data source. Currently supports both OAuth token and API key-based credentials, as described in [Authentication with an SDK](https://cloud.google.com/looker/docs/api-auth#authentication_with_an_sdk).",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCredentials",
          "deprecated": true
        }
      },
      "description": "Context for the chat request using a data agent.",
      "id": "GoogleCloudGeminidataanalyticsV1betaDataAgentContext"
    },
    "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultRow": {
      "id": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultRow",
      "description": "Represents a single row in the result set.",
      "type": "object",
      "properties": {
        "values": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResultValue"
          },
          "description": "The values in the row, corresponding positionally to the columns.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaDataFilter": {
      "id": "GoogleCloudGeminidataanalyticsV1betaDataFilter",
      "properties": {
        "type": {
          "type": "string",
          "enumDescriptions": [
            "The filter type was not specified.",
            "A filter that the user configures, and any queries to the Explore will always apply this filter by default. Currently only used for Looker data sources."
          ],
          "description": "Optional. The type of filter present on a datasource, such as ALWAYS_FILTER.",
          "enum": [
            "DATA_FILTER_TYPE_UNSPECIFIED",
            "ALWAYS_FILTER"
          ]
        },
        "field": {
          "type": "string",
          "description": "Optional. The field to filter on. For example: [\"event_date\", \"customer_id\", \"product_category\"]"
        },
        "value": {
          "type": "string",
          "description": "Optional. The default value used for this filter if the filter is not overridden in a query. For example: [\"after 2024-01-01\", \"123\", \"-fashion\"]"
        }
      },
      "type": "object",
      "description": "A filter on a datasource's underlying data. Filter syntax documentation: https://cloud.google.com/looker/docs/filter-expressions"
    },
    "GoogleCloudGeminidataanalyticsV1betaBlob": {
      "id": "GoogleCloudGeminidataanalyticsV1betaBlob",
      "type": "object",
      "description": "A blob of data with a MIME type.",
      "properties": {
        "mimeType": {
          "description": "Required. The IANA standard MIME type of the message data.",
          "type": "string"
        },
        "data": {
          "description": "Required. The data represented as bytes.",
          "type": "string",
          "format": "byte"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaSetAgentOpsObservabilityRequest": {
      "type": "object",
      "properties": {
        "telemetryEnabled": {
          "description": "Optional. Whether to enable or disable AgentOps observability. When update_mask is provided, this field is ignored unless specified in the mask.",
          "type": "boolean"
        },
        "bqaaEnabled": {
          "type": "boolean",
          "description": "Optional. Whether BigQuery Agent Analytics is enabled. Note: An explicit `update_mask` containing \"bqaa_enabled\" is required to modify this field. If `update_mask` is omitted, this field is ignored and an existing enabled setting cannot be disabled. This is a project-level setting and does not by itself enable trace logging for any individual agent. Per-agent trace logging is controlled by `DataAgent.bigquery_agent_analytics_enabled` together with `DataAgent.bigquery_agent_analytics_table`; an agent does not inherit this setting."
        },
        "dataSourceType": {
          "type": "string",
          "description": "Required. The data source type for which to set observability settings. Examples: \"bigquery\", \"looker\""
        },
        "updateMask": {
          "type": "string",
          "description": "Optional. Field mask is used to specify the fields to be overwritten by the update. The fields specified in the update_mask are relative to the resource. A field will be overwritten if it is in the mask. If the user does not provide a mask, only `telemetry_enabled` will be updated (for backward compatibility with legacy callers). Note that disabling BigQuery Agent Analytics (`bqaa_enabled = false`) requires providing an explicit `update_mask` containing \"bqaa_enabled\". Per AIP-161: - The special wildcard value '*' is supported to update all fields. - Field paths should use snake_case, though camelCase equivalents (`telemetryEnabled`, `bqaaEnabled`) are accepted for REST/JSON transcoding compatibility.",
          "format": "google-fieldmask"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaSetAgentOpsObservabilityRequest",
      "description": "Request for SetAgentOpsObservability."
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerExploreReferences": {
      "type": "object",
      "properties": {
        "exploreReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaLookerExploreReference"
          },
          "type": "array",
          "description": "Required. References to Looker explores."
        },
        "credentials": {
          "description": "Optional. Deprecated: Use credentials in ChatRequest. The credentials to use when calling the Looker API. Currently supports both OAuth token and API key-based credentials, as described in [Authentication with an SDK](https://cloud.google.com/looker/docs/api-auth#authentication_with_an_sdk).",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaCredentials",
          "deprecated": true
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerExploreReferences",
      "description": "Message representing references to Looker explores."
    },
    "GoogleCloudGeminidataanalyticsV1betaSpannerDatabaseReference": {
      "type": "object",
      "properties": {
        "engine": {
          "enumDescriptions": [
            "Engine is not specified.",
            "Google SQL",
            "PostgreSQL"
          ],
          "type": "string",
          "enum": [
            "ENGINE_UNSPECIFIED",
            "GOOGLE_SQL",
            "POSTGRESQL"
          ],
          "description": "Required. The engine of the Spanner instance."
        },
        "projectId": {
          "type": "string",
          "description": "Required. The project the instance belongs to."
        },
        "graphIds": {
          "description": "Optional. The graph IDs to query.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tableIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The table ids. Denotes all tables if unset."
        },
        "priority": {
          "type": "string",
          "description": "Optional. Priority for the queries to Spanner. Should be a value supported by Cloud Spanner e.g.: LOW, MEDIUM, HIGH. Unsupported values will be ignored. See https://docs.cloud.google.com/spanner/docs/reference/rest/v1/RequestOptions#Priority for complete list."
        },
        "instanceId": {
          "description": "Required. The instance id.",
          "type": "string"
        },
        "databaseId": {
          "type": "string",
          "description": "Required. The database id."
        },
        "requestTag": {
          "description": "Tag to be attached to all queries to Spanner. Allows to identify and monitor queries sent to Spanner by the GDA service.",
          "type": "string"
        },
        "databaseTableReferences": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
          },
          "description": "Optional. References to tables within the database. Each reference specifies a table and can optionally include the table's schema to provide context for the query."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaSpannerDatabaseReference",
      "description": "Message representing a reference to a single Spanner database."
    },
    "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReference": {
      "id": "GoogleCloudGeminidataanalyticsV1betaStudioDatasourceReference",
      "description": "Message representing a reference to a single Looker Studio datasource.",
      "properties": {
        "datasourceId": {
          "description": "Required. The id of the datasource.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "A2aV1SecurityScheme": {
      "type": "object",
      "properties": {
        "openIdConnectSecurityScheme": {
          "$ref": "A2aV1OpenIdConnectSecurityScheme"
        },
        "httpAuthSecurityScheme": {
          "$ref": "A2aV1HTTPAuthSecurityScheme"
        },
        "apiKeySecurityScheme": {
          "$ref": "A2aV1APIKeySecurityScheme"
        },
        "oauth2SecurityScheme": {
          "$ref": "A2aV1OAuth2SecurityScheme"
        },
        "mtlsSecurityScheme": {
          "$ref": "A2aV1MutualTlsSecurityScheme"
        }
      },
      "id": "A2aV1SecurityScheme"
    },
    "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParameters": {
      "description": "Parameters for Parameterized Secure Views (PSV). These parameters are used to enforce row-level security during SQL generation and query execution.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParameters",
      "properties": {
        "parameters": {
          "type": "array",
          "description": "Optional. Named parameters for Parameterized Secure Views (PSV).",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParametersParameter"
          }
        }
      }
    },
    "GoogleRpcStatus": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "properties": {
        "message": {
          "type": "string",
          "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."
        },
        "code": {
          "type": "integer",
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32"
        },
        "details": {
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array",
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use."
        }
      },
      "id": "GoogleRpcStatus",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaQueryDataResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1betaQueryDataResponse",
      "description": "Response containing the generated query and related information.",
      "properties": {
        "tokenUsage": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaTokenUsage",
          "description": "Overall token usage for the request."
        },
        "disambiguationQuestion": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "If ambiguity was detected in the natural language query and options.generate_disambiguation_question was true, this field contains a question to the user for clarification. The returned represents the service's best effort based on the ambiguous input."
        },
        "queryResult": {
          "description": "The result of executing the query. Populated if options.generate_query_result or options.generate_natural_language_answer was true in the request, and execution was successful or attempted.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaExecutedQueryResult"
        },
        "generatedQuery": {
          "description": "Generated query for the given user prompt.",
          "type": "string"
        },
        "intentExplanation": {
          "description": "A natural language explanation of the generated query. Populated if options.generate_explanation was true in the request.",
          "type": "string"
        },
        "naturalLanguageAnswer": {
          "description": "A natural language answer to the query, based on the query_result. Populated if options.generate_natural_language_answer was true in the request and query execution was successful based in the response from executeSql API.",
          "type": "string"
        },
        "pipelineDebugInfo": {
          "type": "object",
          "description": "Detailed step-by-step pipeline execution information. Populated only if generation_options.generate_debug_info was true. Provided for debugging and transparency purposes only. The structure and content of this object is not guaranteed and may change at any time without notice. Do not write production code or business logic depending on the fields in this object.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          }
        }
      },
      "type": "object"
    },
    "A2aV1ClientCredentialsOAuthFlow": {
      "id": "A2aV1ClientCredentialsOAuthFlow",
      "properties": {
        "refreshUrl": {
          "type": "string",
          "description": "The URL to be used for obtaining refresh tokens. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        },
        "tokenUrl": {
          "type": "string",
          "description": "The token URL to be used for this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS."
        },
        "scopes": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The available scopes for the OAuth2 security scheme. A map between the scope name and a short description for it. The map MAY be empty.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaQueryDataContext": {
      "description": "References to data sources and context to use for the query.",
      "id": "GoogleCloudGeminidataanalyticsV1betaQueryDataContext",
      "properties": {
        "parameterizedSecureViewParameters": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaParameterizedSecureViewParameters",
          "description": "Optional. Parameters for Parameterized Secure Views (PSV)."
        },
        "datasourceReferences": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaDatasourceReferences",
          "description": "Required. The datasource references to use for the query."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerSettings": {
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerSettings",
      "description": "Message to hold Looker specific custom settings.",
      "type": "object",
      "properties": {
        "enableDevMode": {
          "type": "boolean",
          "description": "Optional. Whether to operate in Looker's Development Mode. If true, the API session will be switched to the \"dev\" workspace, allowing interaction with LookML changes in the user's development branch. If false or unset, the session remains in the default state (Production Mode). See https://cloud.google.com/looker/docs/dev-mode-prod-mode."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaExampleQuery": {
      "type": "object",
      "description": "Example of relevant and commonly used SQL query and its corresponding natural language queries optionally present. Currently only used for BigQuery data sources.",
      "properties": {
        "parameters": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaQueryParameter"
          },
          "type": "array",
          "description": "Optional. The list of query parameters. Example: The parameterized SQL query \"SELECT * FROM my_table WHERE id = @id\" can be matched with any value of id."
        },
        "naturalLanguageQuestion": {
          "description": "Optional. A natural language question that a user might ask. For example: \"How many orders were placed last month?\" Must be at most 2,000 bytes (approx. 2,000 characters).",
          "type": "string"
        },
        "sqlQuery": {
          "description": "Optional. The SQL query that should be generated to answer the natural language question. For example: \"SELECT COUNT(*) FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-01-31'\" Must be at most 50,000 bytes (approx. 50,000 characters).",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaExampleQuery"
    },
    "GoogleTypeExpr": {
      "id": "GoogleTypeExpr",
      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
      "type": "object",
      "properties": {
        "location": {
          "type": "string",
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI."
        },
        "expression": {
          "type": "string",
          "description": "Textual representation of an expression in Common Expression Language syntax."
        },
        "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"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaAlloyDbDatabaseReference": {
      "type": "object",
      "description": "Message representing a reference to a single AlloyDB database.",
      "properties": {
        "tableIds": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The table ids. Denotes all tables if unset."
        },
        "databaseTableReferences": {
          "description": "Optional. References to tables within the database. Each reference specifies a table and can optionally include the table's schema to provide context for the query.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
          }
        },
        "region": {
          "description": "Required. The region of the instance.",
          "type": "string"
        },
        "databaseId": {
          "description": "Required. The database id.",
          "type": "string"
        },
        "projectId": {
          "description": "Required. The project the instance belongs to.",
          "type": "string"
        },
        "instanceId": {
          "type": "string",
          "description": "Required. The instance id."
        },
        "clusterId": {
          "description": "Required. The cluster id.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaAlloyDbDatabaseReference"
    },
    "GoogleIamV1SetIamPolicyRequest": {
      "id": "GoogleIamV1SetIamPolicyRequest",
      "type": "object",
      "properties": {
        "policy": {
          "$ref": "GoogleIamV1Policy",
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them."
        },
        "updateMask": {
          "type": "string",
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
          "format": "google-fieldmask"
        }
      },
      "description": "Request message for `SetIamPolicy` method."
    },
    "A2aV1HTTPAuthSecurityScheme": {
      "properties": {
        "scheme": {
          "type": "string",
          "description": "The name of the HTTP Authentication scheme to be used in the Authorization header as defined in RFC7235. The values used SHOULD be registered in the IANA Authentication Scheme registry. The value is case-insensitive, as defined in RFC7235."
        },
        "bearerFormat": {
          "description": "A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Description of this security scheme."
        }
      },
      "type": "object",
      "id": "A2aV1HTTPAuthSecurityScheme"
    },
    "GoogleCloudGeminidataanalyticsV1betaLookerExploreReference": {
      "properties": {
        "privateLookerInstanceInfo": {
          "description": "Private Looker instance info.",
          "$ref": "GoogleCloudGeminidataanalyticsV1betaPrivateLookerInstanceInfo"
        },
        "lookmlModel": {
          "description": "Required. Looker model, as outlined in [Major LookML structures](https://cloud.google.com/looker/docs/lookml-terms-and-concepts#major_lookml_structures). Name of the LookML model.",
          "type": "string"
        },
        "explore": {
          "description": "Required. Looker Explore, as outlined in [Major LookML structures](https://cloud.google.com/looker/docs/lookml-terms-and-concepts#major_lookml_structures). Name of the LookML Explore.",
          "type": "string"
        },
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSchema",
          "description": "Optional. The schema of the datasource."
        },
        "lookerInstanceUri": {
          "description": "Required. The base url of the Looker instance.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaLookerExploreReference",
      "type": "object",
      "description": "Message representing a reference to a single Looker explore."
    },
    "A2aV1AgentProvider": {
      "properties": {
        "organization": {
          "description": "The providers organization name Example: \"Google\"",
          "type": "string"
        },
        "url": {
          "description": "The providers reference url Example: \"https://ai.google.dev\"",
          "type": "string"
        }
      },
      "type": "object",
      "id": "A2aV1AgentProvider",
      "description": "Represents information about the service provider of an agent."
    },
    "A2aV1AgentCapabilities": {
      "type": "object",
      "id": "A2aV1AgentCapabilities",
      "properties": {
        "streaming": {
          "type": "boolean",
          "description": "If the agent will support streaming responses"
        },
        "pushNotifications": {
          "type": "boolean",
          "description": "If the agent can send push notifications to the clients webhook"
        },
        "extensions": {
          "description": "Extensions supported by this agent.",
          "items": {
            "$ref": "A2aV1AgentExtension"
          },
          "type": "array"
        }
      },
      "description": "Defines the A2A feature set supported by the agent"
    },
    "GoogleCloudGeminidataanalyticsV1betaAnalysisQuery": {
      "type": "object",
      "description": "A query for performing an analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1betaAnalysisQuery",
      "properties": {
        "question": {
          "type": "string",
          "description": "Optional. An analysis question to help answer the user's original question."
        },
        "dataResultNames": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The names of previously retrieved data results to analyze."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1betaCloudSqlDatabaseReference": {
      "type": "object",
      "description": "Message representing a reference to a single CloudSQL database.",
      "properties": {
        "engine": {
          "description": "Required. The engine of the Cloud SQL instance.",
          "enum": [
            "ENGINE_UNSPECIFIED",
            "POSTGRESQL",
            "MYSQL"
          ],
          "enumDescriptions": [
            "Engine is not specified.",
            "PostgreSQL",
            "MySQL"
          ],
          "type": "string"
        },
        "tableIds": {
          "type": "array",
          "description": "Optional. The table ids. Denotes all tables if unset.",
          "items": {
            "type": "string"
          }
        },
        "databaseId": {
          "description": "Required. The database id.",
          "type": "string"
        },
        "instanceId": {
          "type": "string",
          "description": "Required. The instance id."
        },
        "databaseTableReferences": {
          "description": "Optional. References to tables within the database. Each reference specifies a table and can optionally include the table's schema to provide context for the query.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1betaDatabaseTableReference"
          },
          "type": "array"
        },
        "region": {
          "type": "string",
          "description": "Required. The region of the instance."
        },
        "projectId": {
          "description": "Required. The project the instance belongs to.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1betaCloudSqlDatabaseReference"
    },
    "GoogleCloudGeminidataanalyticsV1betaAlloyDbReference": {
      "type": "object",
      "properties": {
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAlloyDbDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        },
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        }
      },
      "description": "Message representing reference to an AlloyDB database and agent context. Only supported for the `QueryData` method.",
      "id": "GoogleCloudGeminidataanalyticsV1betaAlloyDbReference"
    },
    "A2aV1PushNotificationConfig": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "Url to send the notification too"
        },
        "token": {
          "type": "string",
          "description": "Token unique for this task/session"
        },
        "id": {
          "description": "A unique identifier (e.g. UUID) for this push notification.",
          "type": "string"
        },
        "authentication": {
          "description": "Information about the authentication to sent with the notification",
          "$ref": "A2aV1AuthenticationInfo"
        }
      },
      "id": "A2aV1PushNotificationConfig",
      "description": "Configuration for setting up push notifications for task updates."
    },
    "GoogleCloudGeminidataanalyticsV1betaSpannerReference": {
      "id": "GoogleCloudGeminidataanalyticsV1betaSpannerReference",
      "properties": {
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        },
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1betaSpannerDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        }
      },
      "type": "object",
      "description": "Message representing reference to a Spanner database and agent context. Only supported for the `QueryData` method."
    }
  },
  "ownerName": "Google",
  "version": "v1beta",
  "documentationLink": "https://cloud.google.com/gemini/docs/conversational-analytics-api/overview"
}
