{
  "version_module": true,
  "basePath": "",
  "protocol": "rest",
  "fullyEncodeReservedExpansion": true,
  "version": "v1alpha",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "queryData": {
              "path": "v1alpha/{+parent}:queryData",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "parameters": {
                "parent": {
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Required. The parent resource to generate the query for. Format: projects/{project}/locations/{location}"
                }
              },
              "request": {
                "$ref": "GoogleCloudGeminidataanalyticsV1alphaQueryDataRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:queryData",
              "description": "Queries data from a natural language user query.",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1alphaQueryDataResponse"
              },
              "id": "geminidataanalytics.projects.locations.queryData"
            },
            "retrieveAgentOpsObservability": {
              "httpMethod": "GET",
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:retrieveAgentOpsObservability",
              "parameters": {
                "parent": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "required": true,
                  "type": "string",
                  "description": "Required. Parent value for RetrieveAgentOpsObservabilityRequest. Format: projects/{project}/locations/{location}",
                  "location": "path"
                },
                "dataSourceType": {
                  "description": "Required. The data source type for which to retrieve observability settings. Examples: \"bigquery\", \"looker\"",
                  "location": "query",
                  "type": "string"
                }
              },
              "id": "geminidataanalytics.projects.locations.retrieveAgentOpsObservability",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "path": "v1alpha/{+parent}:retrieveAgentOpsObservability",
              "description": "Gets AgentOps observability settings and status of required services.",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1alphaRetrieveAgentOpsObservabilityResponse"
              }
            },
            "list": {
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "response": {
                "$ref": "GoogleCloudLocationListLocationsResponse"
              },
              "id": "geminidataanalytics.projects.locations.list",
              "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
              "path": "v1alpha/{+name}/locations",
              "parameters": {
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "type": "integer",
                  "description": "The maximum number of results to return. If not set, the service selects a default."
                },
                "filter": {
                  "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).",
                  "location": "query"
                },
                "pageToken": {
                  "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
                  "location": "query",
                  "type": "string"
                },
                "name": {
                  "required": true,
                  "type": "string",
                  "description": "The resource that owns the locations collection, if applicable.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$"
                },
                "extraLocationTypes": {
                  "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
                  "location": "query",
                  "type": "string",
                  "repeated": true
                }
              },
              "flatPath": "v1alpha/projects/{projectsId}/locations",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ]
            },
            "get": {
              "parameters": {
                "name": {
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "location": "path",
                  "type": "string",
                  "description": "Resource name for the location.",
                  "required": true
                }
              },
              "description": "Gets information about a location.",
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}",
              "httpMethod": "GET",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "GoogleCloudLocationLocation"
              },
              "id": "geminidataanalytics.projects.locations.get",
              "path": "v1alpha/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "chat": {
              "id": "geminidataanalytics.projects.locations.chat",
              "httpMethod": "POST",
              "response": {
                "$ref": "GoogleCloudGeminidataanalyticsV1alphaMessage"
              },
              "parameters": {
                "parent": {
                  "description": "Required. The parent value for chat request. Pattern: `projects/{project}/locations/{location}`",
                  "required": true,
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "type": "string",
                  "location": "path"
                }
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudGeminidataanalyticsV1alphaChatRequest"
              },
              "parameterOrder": [
                "parent"
              ],
              "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:chat",
              "description": "Answers a data question by generating a stream of Message objects.",
              "path": "v1alpha/{+parent}:chat"
            }
          },
          "resources": {
            "operations": {
              "methods": {
                "delete": {
                  "parameters": {
                    "name": {
                      "location": "path",
                      "description": "The name of the operation resource to be deleted.",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true
                    }
                  },
                  "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`.",
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "path": "v1alpha/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                  "id": "geminidataanalytics.projects.locations.operations.delete"
                },
                "list": {
                  "response": {
                    "$ref": "GoogleLongrunningListOperationsResponse"
                  },
                  "path": "v1alpha/{+name}/operations",
                  "id": "geminidataanalytics.projects.locations.operations.list",
                  "parameterOrder": [
                    "name"
                  ],
                  "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"
                  ],
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "description": "The standard list page size.",
                      "type": "integer",
                      "format": "int32"
                    },
                    "filter": {
                      "description": "The standard list filter.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "description": "The standard list page token.",
                      "type": "string"
                    },
                    "name": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "description": "The name of the operation's parent resource.",
                      "location": "path"
                    },
                    "returnPartialSuccess": {
                      "type": "boolean",
                      "location": "query",
                      "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."
                    }
                  },
                  "httpMethod": "GET",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations"
                },
                "cancel": {
                  "httpMethod": "POST",
                  "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`.",
                  "parameters": {
                    "name": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "description": "The name of the operation resource to be cancelled.",
                      "required": true,
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "id": "geminidataanalytics.projects.locations.operations.cancel",
                  "request": {
                    "$ref": "GoogleLongrunningCancelOperationRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                  "path": "v1alpha/{+name}:cancel"
                },
                "get": {
                  "path": "v1alpha/{+name}",
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "geminidataanalytics.projects.locations.operations.get",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                  "parameters": {
                    "name": {
                      "description": "The name of the operation resource.",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                      "required": true
                    }
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}"
                }
              }
            },
            "dataAgents": {
              "methods": {
                "listAccessible": {
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents:listAccessible",
                  "path": "v1alpha/{+parent}/dataAgents:listAccessible",
                  "description": "Lists DataAgents that are accessible to the caller in a given project and location.",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaListAccessibleDataAgentsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "orderBy": {
                      "type": "string",
                      "description": "Optional. User specification for how to order the results.",
                      "location": "query"
                    },
                    "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"
                    },
                    "showDeleted": {
                      "location": "query",
                      "description": "Optional. If true, the list results will include soft-deleted DataAgents. Defaults to false.",
                      "type": "boolean"
                    },
                    "creatorFilter": {
                      "type": "string",
                      "enum": [
                        "CREATOR_FILTER_UNSPECIFIED",
                        "NONE",
                        "CREATOR_ONLY",
                        "NOT_CREATOR_ONLY"
                      ],
                      "location": "query",
                      "description": "Optional. Filter for the creator of the agent.",
                      "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."
                      ]
                    },
                    "filter": {
                      "description": "Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for syntax.",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "location": "query",
                      "type": "integer",
                      "description": "Optional. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
                      "format": "int32"
                    },
                    "parent": {
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "description": "Required. Parent value for ListAccessibleDataAgentsRequest."
                    }
                  },
                  "id": "geminidataanalytics.projects.locations.dataAgents.listAccessible",
                  "httpMethod": "GET"
                },
                "setIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.setIamPolicy",
                  "path": "v1alpha/{+resource}:setIamPolicy",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:setIamPolicy",
                  "description": "Sets the IAM policy for a DataAgent.",
                  "parameters": {
                    "resource": {
                      "type": "string",
                      "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.",
                      "location": "path",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "request": {
                    "$ref": "GoogleIamV1SetIamPolicyRequest"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "httpMethod": "POST"
                },
                "delete": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "description": "Deletes a single DataAgent.",
                  "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": {
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "required": true,
                      "description": "Required. Name of the resource.",
                      "location": "path",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "path": "v1alpha/{+name}",
                  "id": "geminidataanalytics.projects.locations.dataAgents.delete",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "get": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "description": "Required. Name of the resource.",
                      "type": "string",
                      "location": "path"
                    }
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "description": "Gets details of a single DataAgent.",
                  "id": "geminidataanalytics.projects.locations.dataAgents.get"
                },
                "list": {
                  "id": "geminidataanalytics.projects.locations.dataAgents.list",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents",
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "type": "string",
                      "description": "Required. Parent value for ListDataAgentsRequest.",
                      "location": "path"
                    },
                    "pageSize": {
                      "description": "Optional. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
                      "location": "query",
                      "format": "int32",
                      "type": "integer"
                    },
                    "creatorFilter": {
                      "description": "Optional. Filter for the creator of the agent.",
                      "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."
                      ],
                      "enum": [
                        "CREATOR_FILTER_UNSPECIFIED",
                        "NONE",
                        "CREATOR_ONLY",
                        "NOT_CREATOR_ONLY"
                      ],
                      "location": "query",
                      "type": "string"
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "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."
                    },
                    "filter": {
                      "location": "query",
                      "description": "Optional. Filtering results. See [AIP-160](https://google.aip.dev/160) for syntax.",
                      "type": "string"
                    },
                    "orderBy": {
                      "type": "string",
                      "description": "Optional. User specification for how to order the results.",
                      "location": "query"
                    },
                    "showDeleted": {
                      "location": "query",
                      "type": "boolean",
                      "description": "Optional. If true, the list results will include soft-deleted DataAgents. Defaults to false."
                    }
                  },
                  "path": "v1alpha/{+parent}/dataAgents",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaListDataAgentsResponse"
                  },
                  "httpMethod": "GET",
                  "description": "Lists DataAgents in a given project and location."
                },
                "updateSync": {
                  "id": "geminidataanalytics.projects.locations.dataAgents.updateSync",
                  "path": "v1alpha/{+name}:updateSync",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "httpMethod": "PATCH",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:updateSync",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Updates the parameters of a single DataAgent synchronously.",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "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 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"
                    },
                    "name": {
                      "required": true,
                      "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",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "location": "path"
                    },
                    "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"
                    }
                  }
                },
                "deleteSync": {
                  "description": "Deletes a single DataAgent synchronously.",
                  "httpMethod": "DELETE",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:deleteSync",
                  "id": "geminidataanalytics.projects.locations.dataAgents.deleteSync",
                  "parameters": {
                    "requestId": {
                      "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
                      "type": "string",
                      "location": "query"
                    },
                    "name": {
                      "location": "path",
                      "description": "Required. Name of the resource.",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "type": "string",
                      "required": true
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "path": "v1alpha/{+name}:deleteSync",
                  "parameterOrder": [
                    "name"
                  ]
                },
                "getIamPolicy": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "resource": {
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/dataAgents/[^/]+$",
                      "required": true,
                      "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.",
                      "type": "string"
                    }
                  },
                  "httpMethod": "POST",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}:getIamPolicy",
                  "request": {
                    "$ref": "GoogleIamV1GetIamPolicyRequest"
                  },
                  "id": "geminidataanalytics.projects.locations.dataAgents.getIamPolicy",
                  "response": {
                    "$ref": "GoogleIamV1Policy"
                  },
                  "parameterOrder": [
                    "resource"
                  ],
                  "path": "v1alpha/{+resource}:getIamPolicy",
                  "description": "Gets the IAM policy for DataAgent"
                },
                "patch": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents/{dataAgentsId}",
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "PATCH",
                  "parameters": {
                    "name": {
                      "location": "path",
                      "type": "string",
                      "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}.",
                      "required": true
                    },
                    "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"
                    },
                    "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": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "path": "v1alpha/{+name}",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "description": "Updates the parameters of a single DataAgent.",
                  "id": "geminidataanalytics.projects.locations.dataAgents.patch"
                },
                "createSync": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents:createSync",
                  "description": "Creates a new DataAgent in a given project and location synchronously.",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "path": "v1alpha/{+parent}/dataAgents:createSync",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "description": "Required. Value for parent."
                    },
                    "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"
                    },
                    "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 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"
                    }
                  },
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "id": "geminidataanalytics.projects.locations.dataAgents.createSync",
                  "parameterOrder": [
                    "parent"
                  ]
                },
                "create": {
                  "description": "Creates a new DataAgent in a given project and location.",
                  "httpMethod": "POST",
                  "parameterOrder": [
                    "parent"
                  ],
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
                  },
                  "path": "v1alpha/{+parent}/dataAgents",
                  "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 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)."
                    },
                    "dataAgentId": {
                      "location": "query",
                      "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"
                    },
                    "parent": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "description": "Required. Value for parent."
                    }
                  },
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataAgents",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.dataAgents.create"
                }
              }
            },
            "observabilitySettings": {
              "methods": {
                "setAgentOpsObservability": {
                  "description": "Enables/Disables required GCP services and configures AgentOps observability settings.",
                  "response": {
                    "$ref": "GoogleLongrunningOperation"
                  },
                  "parameters": {
                    "parent": {
                      "description": "Required. Parent value for SetAgentOpsObservabilityRequest. Format: projects/{project}/locations/{location}",
                      "required": true,
                      "location": "path",
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaSetAgentOpsObservabilityRequest"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/observabilitySettings:setAgentOpsObservability",
                  "path": "v1alpha/{+parent}/observabilitySettings:setAgentOpsObservability",
                  "id": "geminidataanalytics.projects.locations.observabilitySettings.setAgentOpsObservability"
                }
              }
            },
            "conversations": {
              "resources": {
                "messages": {
                  "methods": {
                    "list": {
                      "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/messages",
                      "parameters": {
                        "pageSize": {
                          "type": "integer",
                          "format": "int32",
                          "location": "query",
                          "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."
                        },
                        "parent": {
                          "description": "Required. The conversation to list messages under. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}`",
                          "required": true,
                          "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                          "location": "path",
                          "type": "string"
                        },
                        "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"
                        },
                        "pageToken": {
                          "description": "Optional. A token identifying a page of results the server should return.",
                          "type": "string",
                          "location": "query"
                        }
                      },
                      "path": "v1alpha/{+parent}/messages",
                      "httpMethod": "GET",
                      "description": "Lists all messages for a given conversation.",
                      "response": {
                        "$ref": "GoogleCloudGeminidataanalyticsV1alphaListMessagesResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "parameterOrder": [
                        "parent"
                      ],
                      "id": "geminidataanalytics.projects.locations.conversations.messages.list"
                    }
                  }
                }
              },
              "methods": {
                "patch": {
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
                  },
                  "id": "geminidataanalytics.projects.locations.conversations.patch",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}",
                  "parameters": {
                    "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"
                    },
                    "updateMask": {
                      "type": "string",
                      "location": "query",
                      "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.",
                      "format": "google-fieldmask"
                    },
                    "name": {
                      "required": true,
                      "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}.",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "type": "string"
                    }
                  },
                  "path": "v1alpha/{+name}",
                  "description": "Updates a conversation.",
                  "parameterOrder": [
                    "name"
                  ],
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
                  },
                  "httpMethod": "PATCH"
                },
                "get": {
                  "description": "Gets details of a single conversation by using conversation id and parent.",
                  "httpMethod": "GET",
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "description": "Required. Name of the resource. Format: `projects/{project}/locations/{location}/conversations/{conversation}`"
                    }
                  },
                  "id": "geminidataanalytics.projects.locations.conversations.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "path": "v1alpha/{+name}",
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}"
                },
                "create": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations",
                  "description": "Creates a new conversation to persist the conversation history. Each conversation will have multiple messages associated with it.",
                  "path": "v1alpha/{+parent}/conversations",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "request": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
                  },
                  "parameters": {
                    "parent": {
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. Parent value for CreateConversationRequest. Format: `projects/{project}/locations/{location}`",
                      "required": true
                    },
                    "requestId": {
                      "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.",
                      "location": "query"
                    },
                    "conversationId": {
                      "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",
                      "type": "string"
                    }
                  },
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
                  },
                  "id": "geminidataanalytics.projects.locations.conversations.create",
                  "parameterOrder": [
                    "parent"
                  ],
                  "httpMethod": "POST"
                },
                "list": {
                  "response": {
                    "$ref": "GoogleCloudGeminidataanalyticsV1alphaListConversationsResponse"
                  },
                  "path": "v1alpha/{+parent}/conversations",
                  "description": "Lists all conversations for a given parent.",
                  "httpMethod": "GET",
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "geminidataanalytics.projects.locations.conversations.list",
                  "parameterOrder": [
                    "parent"
                  ],
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "description": "Required. Parent value for ListConversationsRequest. Format: `projects/{project}/locations/{location}`",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "filter": {
                      "description": "Optional. Returned conversations will match criteria specified within the filter. ListConversations allows filtering by: * agents * labels",
                      "location": "query",
                      "type": "string"
                    },
                    "pageSize": {
                      "type": "integer",
                      "location": "query",
                      "format": "int32",
                      "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."
                    },
                    "pageToken": {
                      "description": "Optional. A token identifying a page of results the server should return.",
                      "type": "string",
                      "location": "query"
                    }
                  }
                },
                "delete": {
                  "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}",
                  "id": "geminidataanalytics.projects.locations.conversations.delete",
                  "path": "v1alpha/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$",
                      "type": "string",
                      "description": "Required. Name of the resource. Format: `projects/{project}/locations/{location}/conversations/{conversation}`",
                      "location": "path"
                    }
                  },
                  "response": {
                    "$ref": "Empty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "DELETE",
                  "description": "Deletes a conversation."
                }
              }
            }
          }
        }
      }
    }
  },
  "baseUrl": "https://geminidataanalytics.googleapis.com/",
  "schemas": {
    "GoogleCloudGeminidataanalyticsV1alphaFirestoreReference": {
      "description": "Message representing reference to a Firestore database and agent context.",
      "properties": {
        "databaseReference": {
          "description": "Required. Singular proto that supports specifying which database and tables to include.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaFirestoreDatabaseReference"
        },
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference"
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaFirestoreReference"
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReference": {
      "description": "Message representing a reference to a single Looker explore.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReference",
      "type": "object",
      "properties": {
        "schema": {
          "description": "Optional. The schema of the datasource.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema"
        },
        "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"
        },
        "privateLookerInstanceInfo": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaPrivateLookerInstanceInfo",
          "description": "Private Looker instance info."
        },
        "explore": {
          "type": "string",
          "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."
        },
        "lookerInstanceUri": {
          "description": "Required. The base url of the Looker instance.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1GetIamPolicyRequest": {
      "properties": {
        "options": {
          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.",
          "$ref": "GoogleIamV1GetPolicyOptions"
        }
      },
      "id": "GoogleIamV1GetIamPolicyRequest",
      "type": "object",
      "description": "Request message for `GetIamPolicy` method."
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataAnalyticsAgent": {
      "properties": {
        "stagingContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContext",
          "description": "Optional. The staging context for the agent. This context is used to test and validate changes before publishing."
        },
        "publishedContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContext",
          "description": "Optional. The published context for the agent. This context is used by the Chat API in production."
        },
        "lastPublishedContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContext",
          "readOnly": true,
          "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."
        }
      },
      "type": "object",
      "description": "Message describing a DataAnalyticsAgent object.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataAnalyticsAgent"
    },
    "GoogleCloudGeminidataanalyticsV1alphaClarificationMessage": {
      "properties": {
        "questions": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaClarificationQuestion"
          },
          "type": "array",
          "description": "Required. Deprecated: The parent message is deprecated. A batch of clarification questions to ask the user.",
          "deprecated": true
        }
      },
      "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.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaClarificationMessage",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaTextMessage": {
      "properties": {
        "parts": {
          "description": "Optional. The parts of the message.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "textType": {
          "type": "string",
          "description": "Optional. The type of the text message.",
          "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."
          ],
          "enum": [
            "TEXT_TYPE_UNSPECIFIED",
            "FINAL_RESPONSE",
            "THOUGHT",
            "PROGRESS",
            "FOLLOWUP_QUESTIONS"
          ]
        },
        "thoughtSignature": {
          "description": "Optional. An opaque signature for a thought so it can be reused in subsequent requests.",
          "type": "string",
          "format": "byte"
        }
      },
      "type": "object",
      "description": "A multi-part text message.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaTextMessage"
    },
    "GoogleCloudGeminidataanalyticsV1alphaConversation": {
      "description": "Message for a conversation.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaConversation",
      "properties": {
        "createTime": {
          "description": "Output only. Creation timestamp.",
          "readOnly": true,
          "format": "google-datetime",
          "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}."
        },
        "agents": {
          "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}`",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string",
          "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}."
        },
        "lastUsedTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Timestamp of the last used conversation.",
          "readOnly": true
        },
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object",
          "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"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaOperationMetadata": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaOperationMetadata",
      "description": "Represents the metadata of the long-running operation.",
      "type": "object",
      "properties": {
        "statusMessage": {
          "type": "string",
          "description": "Output only. Human-readable status of the operation, if any.",
          "readOnly": true
        },
        "endTime": {
          "type": "string",
          "description": "Output only. The time the operation finished running.",
          "format": "google-datetime",
          "readOnly": true
        },
        "createTime": {
          "format": "google-datetime",
          "description": "Output only. The time the operation was created.",
          "readOnly": true,
          "type": "string"
        },
        "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"
        },
        "apiVersion": {
          "description": "Output only. API version used to start the operation.",
          "type": "string",
          "readOnly": true
        },
        "verb": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Name of the verb executed by the operation."
        },
        "target": {
          "description": "Output only. Server-defined resource path for the target of the operation.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GoogleTypeExpr": {
      "id": "GoogleTypeExpr",
      "type": "object",
      "properties": {
        "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"
        },
        "location": {
          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
          "type": "string"
        },
        "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": {
          "description": "Textual representation of an expression in Common Expression Language syntax.",
          "type": "string"
        }
      },
      "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."
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerSettings": {
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerSettings",
      "description": "Message to hold Looker specific custom settings.",
      "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."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaQueryDataRequest": {
      "description": "Request to query data from a natural language query.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaQueryDataRequest",
      "properties": {
        "generationOptions": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaGenerationOptions",
          "description": "Optional. Options to control query generation and execution behavior."
        },
        "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"
        },
        "context": {
          "description": "Required. The context for the data query, including the data sources to use.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaQueryDataContext"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaQueryDataResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaQueryDataResponse",
      "properties": {
        "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."
        },
        "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"
        },
        "queryResult": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResult",
          "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."
        },
        "tokenUsage": {
          "description": "Overall token usage for the request.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaTokenUsage"
        },
        "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": {
            "description": "Properties of the object.",
            "type": "any"
          }
        },
        "generatedQuery": {
          "type": "string",
          "description": "Generated query for the given user prompt."
        }
      },
      "type": "object",
      "description": "Response containing the generated query and related information."
    },
    "GoogleCloudGeminidataanalyticsV1alphaMatchedQuery": {
      "properties": {
        "queryParameterValues": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaQueryParameterValues"
          },
          "description": "The extracted values for the query parameters."
        },
        "exampleQuery": {
          "description": "The query that was matched based on an example query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaExampleQuery"
        }
      },
      "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.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaMatchedQuery"
    },
    "GoogleCloudGeminidataanalyticsV1alphaField": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaField",
      "type": "object",
      "description": "A field in a schema.",
      "properties": {
        "synonyms": {
          "type": "array",
          "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.",
          "items": {
            "type": "string"
          }
        },
        "type": {
          "description": "Optional. The type of the field.",
          "type": "string"
        },
        "description": {
          "description": "Optional. A brief description of the field.",
          "type": "string"
        },
        "subfields": {
          "type": "array",
          "description": "Optional. Recursive property for nested schema structures.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaField"
          }
        },
        "category": {
          "type": "string",
          "description": "Optional. Field category, not required, currently only useful for Looker."
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "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."
        },
        "valueFormat": {
          "description": "Optional. Looker only. Value format of the field. Ref: https://cloud.google.com/looker/docs/reference/param-field-value-format",
          "type": "string"
        },
        "mode": {
          "description": "Optional. The mode of the field (e.g., NULLABLE, REPEATED).",
          "type": "string"
        },
        "displayName": {
          "description": "Optional. Field display_name (same as label in",
          "type": "string"
        },
        "name": {
          "description": "Optional. The name of the field.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaCitation": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaCitation",
      "type": "object",
      "description": "Source attributions for content.",
      "properties": {
        "sources": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaCitationSource"
          },
          "description": "Output only. List of the sources being cited."
        },
        "anchors": {
          "description": "Output only. List of the anchors of the citations.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaCitationAnchor"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaCitationAnchorTextMessageCitationAnchor": {
      "type": "object",
      "description": "Citation anchor within a TextMessage.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaCitationAnchorTextMessageCitationAnchor",
      "properties": {
        "endOffsetBytes": {
          "type": "integer",
          "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.",
          "readOnly": true,
          "format": "int32"
        },
        "sourceIds": {
          "readOnly": true,
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Output only. The ids of the sources that are cited."
        },
        "startOffsetBytes": {
          "type": "integer",
          "format": "int32",
          "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.",
          "readOnly": true
        },
        "partIndex": {
          "format": "int32",
          "readOnly": true,
          "type": "integer",
          "description": "Output only. The 0-based index of the part within the TextMessage.parts field."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaDatasource": {
      "properties": {
        "lookerExploreReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReference",
          "description": "A reference to a Looker explore."
        },
        "bigqueryPropertyGraphReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryPropertyGraphReference",
          "description": "A reference to a BigQuery property graph."
        },
        "cloudSqlReference": {
          "description": "A reference to a CloudSQL database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCloudSqlReference"
        },
        "bigtableReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigtableReference",
          "description": "A reference to a Bigtable instance."
        },
        "firestoreReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaFirestoreReference",
          "description": "A reference to a Firestore database."
        },
        "structSchema": {
          "additionalProperties": {
            "description": "Properties of the object.",
            "type": "any"
          },
          "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"
        },
        "alloyDbReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAlloyDbReference",
          "description": "A reference to an AlloyDB database."
        },
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema",
          "description": "Optional. The schema of the datasource."
        },
        "bigqueryTableReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference",
          "description": "A reference to a BigQuery table."
        },
        "spannerReference": {
          "description": "A reference to a Spanner database.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSpannerReference"
        },
        "studioDatasourceId": {
          "description": "A reference to a Looker Studio datasource.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDatasource",
      "description": "A datasource that can be used to answer questions."
    },
    "GoogleCloudGeminidataanalyticsV1alphaBlob": {
      "properties": {
        "data": {
          "description": "Required. The data represented as bytes.",
          "format": "byte",
          "type": "string"
        },
        "mimeType": {
          "description": "Required. The IANA standard MIME type of the message data.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A blob of data with a MIME type.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaBlob"
    },
    "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsSecretBased": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsSecretBased",
      "properties": {
        "clientId": {
          "description": "Required. An OAuth client ID.",
          "type": "string"
        },
        "clientSecret": {
          "type": "string",
          "description": "Required. An OAuth client secret."
        }
      },
      "description": "The name of the secret containing the access token. Represents secret-based OAuth credentials.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultRow": {
      "description": "Represents a single row in the result set.",
      "type": "object",
      "properties": {
        "values": {
          "description": "The values in the row, corresponding positionally to the columns.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultValue"
          },
          "type": "array"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultRow"
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference",
      "description": "Message representing a reference to a single BigQuery table.",
      "type": "object",
      "properties": {
        "datasetId": {
          "description": "Required. The dataset that the table belongs to.",
          "type": "string"
        },
        "tableId": {
          "type": "string",
          "description": "Required. The table id."
        },
        "projectId": {
          "type": "string",
          "description": "Required. The project that the table belongs to."
        },
        "schema": {
          "description": "Optional. The schema of the datasource.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaTokenUsage": {
      "properties": {
        "inputTokenCount": {
          "format": "int32",
          "type": "integer",
          "description": "The total number of input tokens used in this request."
        },
        "outputTokenCount": {
          "description": "The total number of output tokens used in this request.",
          "type": "integer",
          "format": "int32"
        }
      },
      "description": "Overall token usage tracking for the response.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaTokenUsage",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaAlloyDbDatabaseReference": {
      "type": "object",
      "description": "Message representing a reference to a single AlloyDB database.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAlloyDbDatabaseReference",
      "properties": {
        "clusterId": {
          "type": "string",
          "description": "Required. The cluster 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": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference"
          },
          "type": "array"
        },
        "tableIds": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The table ids. Denotes all tables if unset.",
          "type": "array"
        },
        "databaseId": {
          "type": "string",
          "description": "Required. The database id."
        },
        "instanceId": {
          "description": "Required. The instance id.",
          "type": "string"
        },
        "projectId": {
          "type": "string",
          "description": "Required. The project the instance belongs to."
        },
        "region": {
          "description": "Required. The region of the instance.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaAnalysisMessage": {
      "type": "object",
      "description": "A message produced during analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAnalysisMessage",
      "properties": {
        "progressEvent": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAnalysisEvent",
          "description": "An event indicating the progress of the analysis."
        },
        "query": {
          "description": "An analysis query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAnalysisQuery"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaSystemMessage": {
      "properties": {
        "clarification": {
          "deprecated": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaClarificationMessage",
          "description": "Optional. Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. A message containing clarification questions."
        },
        "data": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataMessage",
          "description": "A message produced during data retrieval."
        },
        "analysis": {
          "description": "A message produced during analysis.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAnalysisMessage"
        },
        "citation": {
          "description": "Output only. Citation information for the system message.",
          "readOnly": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCitation"
        },
        "schema": {
          "description": "A message produced during schema resolution.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchemaMessage"
        },
        "text": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaTextMessage",
          "description": "A direct natural language response to the user message."
        },
        "exampleQueries": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaExampleQueries",
          "description": "Optional. A message containing example queries."
        },
        "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"
        },
        "chart": {
          "description": "A message produced during chart generation.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartMessage"
        },
        "error": {
          "description": "An error message.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaErrorMessage"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaSystemMessage",
      "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.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaAlloyDbReference": {
      "properties": {
        "databaseReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAlloyDbDatabaseReference",
          "description": "Required. Singular proto that supports specifying which database and tables to include."
        },
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference"
        }
      },
      "type": "object",
      "description": "Message representing reference to an AlloyDB database and agent context. Only supported for the `QueryData` method.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAlloyDbReference"
    },
    "GoogleCloudGeminidataanalyticsV1alphaErrorMessage": {
      "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.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaErrorMessage",
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "Output only. The text of the error.",
          "readOnly": true
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaListDataAgentsResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaListDataAgentsResponse",
      "properties": {
        "unreachable": {
          "description": "Unordered list. Locations that could not be reached.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "The next page token or empty if none.",
          "type": "string"
        },
        "dataAgents": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
          },
          "description": "The list of DataAgent."
        }
      },
      "type": "object",
      "description": "Message for response to listing DataAgents."
    },
    "GoogleCloudGeminidataanalyticsV1alphaUserMessage": {
      "description": "A message from the user that is interacting with the system.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaUserMessage",
      "properties": {
        "text": {
          "type": "string",
          "description": "Text should use this field instead of blob."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaPrivateLookerInstanceInfo": {
      "properties": {
        "lookerInstanceId": {
          "description": "The Looker instance id.",
          "type": "string"
        },
        "serviceDirectoryName": {
          "description": "The service directory name of the Looker instance.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaPrivateLookerInstanceInfo",
      "description": "Message representing a private Looker instance info required if the Looker instance is behind a private network.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptions": {
      "description": "Options for rendering images of generated charts.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptions",
      "properties": {
        "noImage": {
          "description": "No image.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsNoImage"
        },
        "svg": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsSvgOptions",
          "description": "SVG format."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutineReference": {
      "type": "object",
      "description": "A reference to a BigQuery routine.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutineReference",
      "properties": {
        "datasetId": {
          "type": "string",
          "description": "The dataset ID of the routine."
        },
        "routineId": {
          "description": "The routine ID of the routine.",
          "type": "string"
        },
        "projectId": {
          "type": "string",
          "description": "The project ID of the routine."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultColumn": {
      "description": "Describes a single column in the result set.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultColumn",
      "type": "object",
      "properties": {
        "name": {
          "description": "The name of the column.",
          "type": "string"
        },
        "type": {
          "description": "The type of the column (e.g., \"VARCHAR\", \"INT64\", \"TIMESTAMP\").",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultValue": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultValue",
      "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",
      "description": "Represents a single value within a row."
    },
    "GoogleCloudGeminidataanalyticsV1alphaSetAgentOpsObservabilityRequest": {
      "description": "Request for SetAgentOpsObservability.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaSetAgentOpsObservabilityRequest",
      "properties": {
        "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": {
          "description": "Required. The data source type for which to set observability settings. Examples: \"bigquery\", \"looker\"",
          "type": "string"
        },
        "telemetryEnabled": {
          "type": "boolean",
          "description": "Optional. Whether to enable or disable AgentOps observability. When update_mask is provided, this field is ignored unless specified in the mask."
        },
        "updateMask": {
          "format": "google-fieldmask",
          "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."
        }
      },
      "type": "object"
    },
    "GoogleCloudLocationListLocationsResponse": {
      "properties": {
        "locations": {
          "items": {
            "$ref": "GoogleCloudLocationLocation"
          },
          "description": "A list of locations that matches the specified filter in the request.",
          "type": "array"
        },
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        }
      },
      "id": "GoogleCloudLocationListLocationsResponse",
      "description": "The response message for Locations.ListLocations.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryJob": {
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryJob",
      "properties": {
        "destinationTable": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference",
          "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)."
        },
        "schema": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema",
          "description": "Optional. The schema of the job's query results. See [JobStatistics2](https://cloud.google.com/bigquery/docs/reference/rest/v2/Job#jobstatistics2)."
        },
        "projectId": {
          "description": "Required. The project that the job belongs to. See [JobReference](https://cloud.google.com/bigquery/docs/reference/rest/v2/JobReference).",
          "type": "string"
        },
        "location": {
          "type": "string",
          "description": "Optional. The location of the job. 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)."
        }
      },
      "description": "A BigQuery job executed by the system."
    },
    "GoogleCloudGeminidataanalyticsV1alphaConversationOptions": {
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaConversationOptions",
      "description": "Options for the conversation.",
      "properties": {
        "model": {
          "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."
          ],
          "enum": [
            "MODEL_UNSPECIFIED",
            "LATEST_GA_MODEL"
          ],
          "description": "Optional. The model to use for the agent loop.",
          "type": "string"
        },
        "datasource": {
          "description": "Optional. Options for datasources.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatasourceOptions"
        },
        "chart": {
          "description": "Optional. Options for chart generation.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartOptions"
        },
        "analysis": {
          "description": "Optional. Options for analysis.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptions"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaFirestoreDatabaseReference": {
      "properties": {
        "collectionIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The collection ids. Denotes all collections if unset."
        },
        "projectId": {
          "description": "Required. Project the firestore database belongs to.",
          "type": "string"
        },
        "databaseTableReferences": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference"
          },
          "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."
        },
        "databaseId": {
          "description": "Required. The database id.",
          "type": "string"
        }
      },
      "description": "Message representing a reference to a single Firestore database.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaFirestoreDatabaseReference"
    },
    "GoogleLongrunningCancelOperationRequest": {
      "description": "The request message for Operations.CancelOperation.",
      "id": "GoogleLongrunningCancelOperationRequest",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudGeminidataanalyticsV1alphaExampleQuery": {
      "properties": {
        "parameters": {
          "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.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaQueryParameter"
          }
        },
        "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": {
          "type": "string",
          "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": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaExampleQuery",
      "description": "Example of relevant and commonly used SQL query and its corresponding natural language queries optionally present. Currently only used for BigQuery data sources."
    },
    "GoogleCloudGeminidataanalyticsV1alphaClarificationQuestion": {
      "properties": {
        "options": {
          "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.",
          "deprecated": true,
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "question": {
          "deprecated": true,
          "description": "Required. Deprecated: The parent message is deprecated. The natural language question to ask the user.",
          "type": "string"
        },
        "clarificationQuestionType": {
          "deprecated": true,
          "enumDeprecated": [
            true,
            true,
            true
          ],
          "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."
          ],
          "enum": [
            "CLARIFICATION_QUESTION_TYPE_UNSPECIFIED",
            "FILTER_VALUES",
            "FIELDS"
          ],
          "description": "Optional. Deprecated: The parent message is deprecated. The type of clarification question.",
          "type": "string"
        },
        "selectionMode": {
          "description": "Required. Deprecated: The parent message is deprecated. The selection mode for this question.",
          "type": "string",
          "deprecated": true,
          "enumDeprecated": [
            true,
            true,
            true
          ],
          "enum": [
            "SELECTION_MODE_UNSPECIFIED",
            "SINGLE_SELECT",
            "MULTI_SELECT"
          ],
          "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."
          ]
        }
      },
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudGeminidataanalyticsV1alphaClarificationQuestion",
      "description": "Deprecated: Use TextMessage with TextType.FINAL_RESPONSE instead. Represents a single question to the user to help clarify their query."
    },
    "GoogleCloudGeminidataanalyticsV1alphaAnalysisEvent": {
      "properties": {
        "code": {
          "type": "string",
          "description": "Generated code."
        },
        "error": {
          "type": "string",
          "description": "A generic error message."
        },
        "resultVegaChartJson": {
          "type": "string",
          "description": "Result as Vega chart JSON string."
        },
        "executionError": {
          "description": "An error from code execution.",
          "type": "string"
        },
        "executionOutput": {
          "description": "Output from code execution.",
          "type": "string"
        },
        "resultCsvData": {
          "description": "Result as CSV string.",
          "type": "string"
        },
        "resultReferenceData": {
          "description": "Result as a reference to a data source.",
          "type": "string"
        },
        "resultNaturalLanguage": {
          "description": "Result as NL string.",
          "type": "string"
        },
        "plannerReasoning": {
          "description": "Python codegen planner's reasoning.",
          "type": "string"
        },
        "coderInstruction": {
          "description": "Instructions issued for code generation.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "An event indicating the progress of an analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAnalysisEvent"
    },
    "GoogleCloudGeminidataanalyticsV1alphaClientManagedResourceContext": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaClientManagedResourceContext",
      "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": {
        "agentId": {
          "description": "Optional. The client managed agent id.",
          "type": "string"
        },
        "conversationId": {
          "type": "string",
          "description": "Optional. The client managed conversation id."
        },
        "inlineContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContext",
          "description": "Required. Context for the chat request. Use this to chat without GDA API managed conversation and agent persistence by passing all context inline."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaCredentials": {
      "properties": {
        "oauth": {
          "description": "OAuth credentials.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentials"
        }
      },
      "description": "Represents different forms of credential specification.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaCredentials",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataAgent": {
      "description": "Message describing a DataAgent object.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataAgent",
      "type": "object",
      "properties": {
        "createTime": {
          "type": "string",
          "description": "Output only. The time when the data agent was created.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "purgeTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "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."
        },
        "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": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference"
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the agent. * Must be between 1-1024 characters."
        },
        "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"
        },
        "bigqueryAgentAnalyticsEnabled": {
          "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.",
          "type": "boolean"
        },
        "dataAnalyticsAgent": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAnalyticsAgent",
          "description": "Data analytics agent."
        },
        "displayName": {
          "type": "string",
          "description": "Optional. User friendly display name. * Must be between 1-256 characters."
        },
        "name": {
          "type": "string",
          "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}."
        },
        "updateTime": {
          "description": "Output only. The time when the data agent was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "deleteTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. [Output only] The time the data agent was soft deleted.",
          "type": "string"
        },
        "kmsKey": {
          "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/*`.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaSchemaMessage": {
      "description": "A message produced during schema resolution.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaSchemaMessage",
      "properties": {
        "query": {
          "description": "A schema resolution query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchemaQuery"
        },
        "result": {
          "description": "The result of a schema resolution query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchemaResult"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationship": {
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationship",
      "description": "The relationship between two tables, including referencing and referenced columns. This is a derived context retrieved from Dataplex Dataset Insights.",
      "properties": {
        "rightSchemaPaths": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationshipSchemaPaths",
          "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."
        },
        "confidenceScore": {
          "format": "float",
          "description": "Optional. A confidence score for the suggested relationship. Manually added edges have the highest confidence score.",
          "type": "number"
        },
        "sources": {
          "description": "Optional. Sources which generated the schema relation edge.",
          "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"
          },
          "type": "array"
        },
        "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": "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationshipSchemaPaths"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaConversationReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaConversationReference",
      "type": "object",
      "description": "Reference to a persisted conversation and agent context.",
      "properties": {
        "conversation": {
          "description": "Required. Name of the conversation resource. Format: `projects/{project}/locations/{location}/conversations/{conversation_id}`",
          "type": "string"
        },
        "dataAgentContext": {
          "description": "Required. Context for the chat request using a data agent.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgentContext"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigtableReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigtableReference",
      "description": "Message representing reference to a Bigtable instance and agent context.",
      "properties": {
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference"
        },
        "databaseReference": {
          "description": "Required. Singular proto that supports specifying which database and tables to include.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigtableDatabaseReference"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReferences": {
      "properties": {
        "exploreReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReference"
          },
          "description": "Required. References to Looker explores.",
          "type": "array"
        },
        "credentials": {
          "deprecated": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCredentials",
          "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)."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReferences",
      "description": "Message representing references to Looker explores."
    },
    "GoogleCloudGeminidataanalyticsV1alphaStorageMessage": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaStorageMessage",
      "type": "object",
      "properties": {
        "message": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaMessage",
          "description": "The message content."
        },
        "messageId": {
          "description": "The unique resource name of a chat message.",
          "type": "string"
        }
      },
      "description": "A stored message containing user message or system message."
    },
    "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationshipSchemaPaths": {
      "description": "Represents an ordered set of paths within the table schema.",
      "properties": {
        "tableFqn": {
          "type": "string",
          "description": "The service-qualified full resource name of the table Ex: bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID"
        },
        "paths": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "The ordered list of paths within the table schema."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationshipSchemaPaths",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaCloudSqlDatabaseReference": {
      "description": "Message representing a reference to a single CloudSQL database.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaCloudSqlDatabaseReference",
      "properties": {
        "engine": {
          "description": "Required. The engine of the Cloud SQL instance.",
          "enum": [
            "ENGINE_UNSPECIFIED",
            "POSTGRESQL",
            "MYSQL"
          ],
          "type": "string",
          "enumDescriptions": [
            "Engine is not specified.",
            "PostgreSQL",
            "MySQL"
          ]
        },
        "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": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference"
          }
        },
        "region": {
          "type": "string",
          "description": "Required. The region of the instance."
        },
        "projectId": {
          "type": "string",
          "description": "Required. The project the instance belongs to."
        },
        "instanceId": {
          "description": "Required. The instance id.",
          "type": "string"
        },
        "tableIds": {
          "description": "Optional. The table ids. Denotes all tables if unset.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "databaseId": {
          "description": "Required. The database id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleIamV1AuditConfig": {
      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.",
      "id": "GoogleIamV1AuditConfig",
      "type": "object",
      "properties": {
        "auditLogConfigs": {
          "type": "array",
          "items": {
            "$ref": "GoogleIamV1AuditLogConfig"
          },
          "description": "The configuration for logging of each type of permission."
        },
        "service": {
          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
          "type": "string"
        }
      }
    },
    "GoogleIamV1GetPolicyOptions": {
      "id": "GoogleIamV1GetPolicyOptions",
      "properties": {
        "requestedPolicyVersion": {
          "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).",
          "type": "integer"
        }
      },
      "description": "Encapsulates settings provided to GetIamPolicy.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaChatRequest": {
      "type": "object",
      "properties": {
        "lookerSettings": {
          "description": "Optional. Looker specific settings.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerSettings"
        },
        "dataAgentContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgentContext",
          "description": "Optional. Context for the chat request. Use this to chat with an Agent statelessly, without 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": "GoogleCloudGeminidataanalyticsV1alphaCredentials"
        },
        "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."
          ],
          "enum": [
            "MODEL_UNSPECIFIED",
            "LATEST_GA_MODEL"
          ],
          "type": "string",
          "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."
        },
        "conversationReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversationReference",
          "description": "Optional. Reference to a persisted conversation and agent context. Use this to chat with an Agent using managed conversation persistence."
        },
        "messages": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaMessage"
          },
          "description": "Required. Content of current conversation.",
          "type": "array"
        },
        "thinkingMode": {
          "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."
          ],
          "type": "string",
          "enum": [
            "THINKING_MODE_UNSPECIFIED",
            "FAST",
            "THINKING"
          ],
          "description": "Optional. The thinking mode to use for the agent loop. Defaults to THINKING_MODE_UNSPECIFIED if not specified."
        },
        "project": {
          "description": "Optional. Deprecated: Use `parent` field instead. The Google Cloud project to be used for quota and billing.",
          "deprecated": true,
          "type": "string"
        },
        "inlineContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaContext",
          "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."
        },
        "clientManagedResourceContext": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaClientManagedResourceContext",
          "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."
        }
      },
      "description": "Request for Chat.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaChatRequest"
    },
    "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResult": {
      "properties": {
        "totalRowCount": {
          "type": "string",
          "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.",
          "format": "int64"
        },
        "queryExecutionError": {
          "description": "The error message if the query execution failed.",
          "type": "string"
        },
        "columns": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultColumn"
          },
          "description": "The columns in the result set, in order.",
          "type": "array"
        },
        "partialResult": {
          "type": "boolean",
          "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."
        },
        "rows": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResultRow"
          },
          "description": "The rows returned by the query.",
          "type": "array"
        }
      },
      "description": "The result of a query execution. The design is generic for all dialects.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaExecutedQueryResult",
      "type": "object"
    },
    "GoogleCloudLocationLocation": {
      "id": "GoogleCloudLocationLocation",
      "type": "object",
      "properties": {
        "labels": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
          "type": "object"
        },
        "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."
          }
        },
        "name": {
          "type": "string",
          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`"
        },
        "displayName": {
          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
          "type": "string"
        },
        "locationId": {
          "description": "The canonical id for this location. For example: `\"us-east1\"`.",
          "type": "string"
        }
      },
      "description": "A resource that represents a Google Cloud location."
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsSvgOptions": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsSvgOptions",
      "type": "object",
      "description": "SVG options.",
      "properties": {}
    },
    "GoogleCloudGeminidataanalyticsV1alphaCloudSqlReference": {
      "description": "Message representing reference to a CloudSQL database and agent context. Only supported for the `QueryData` method.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaCloudSqlReference",
      "properties": {
        "databaseReference": {
          "description": "Required. Singular proto that supports specifying which database and tables to include.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCloudSqlDatabaseReference"
        },
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaExampleQueries": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaExampleQueries",
      "type": "object",
      "description": "A message containing derived and authored example queries.",
      "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": "GoogleCloudGeminidataanalyticsV1alphaExampleQuery"
          }
        }
      }
    },
    "GoogleLongrunningOperation": {
      "id": "GoogleLongrunningOperation",
      "properties": {
        "metadata": {
          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "error": {
          "$ref": "GoogleRpcStatus",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "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`.",
          "type": "object",
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          }
        },
        "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": {
          "type": "string",
          "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}`."
        }
      },
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaContext": {
      "description": "A collection of context to apply to this conversation",
      "id": "GoogleCloudGeminidataanalyticsV1alphaContext",
      "type": "object",
      "properties": {
        "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": "GoogleCloudGeminidataanalyticsV1alphaExampleQuery"
          }
        },
        "options": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversationOptions",
          "description": "Optional. Additional options for the conversation."
        },
        "glossaryTerms": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaGlossaryTerm"
          },
          "description": "Optional. Term definitions (currently, only user authored) Not supported for databases (alloydb, cloudsql, spanner) data sources."
        },
        "userFunctions": {
          "description": "Optional. A collection of user functions to be included in context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaUserFunctions"
        },
        "lookerGoldenQueries": {
          "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.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerGoldenQuery"
          }
        },
        "schemaRelationships": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaContextSchemaRelationship"
          },
          "description": "Optional. Relationships between table schema, including referencing and referenced columns."
        },
        "datasourceReferences": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatasourceReferences",
          "description": "Required. Data sources that are available for answering the question."
        },
        "systemInstruction": {
          "type": "string",
          "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)."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaGlossaryTerm": {
      "properties": {
        "displayName": {
          "type": "string",
          "description": "Required. User friendly display name of the glossary term being defined. For example: \"CTR\", \"conversion rate\", \"pending\" Must be at most 256 bytes."
        },
        "labels": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. A list of general purpose labels associated to this term. For example: [\"click rate\", \"clickthrough\", \"waiting\"]"
        },
        "description": {
          "type": "string",
          "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": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaGlossaryTerm",
      "description": "Definition of a term within a specific domain."
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartMessage": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartMessage",
      "type": "object",
      "description": "A message produced during chart generation.",
      "properties": {
        "query": {
          "description": "A query for generating a chart.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartQuery"
        },
        "result": {
          "description": "The result of a chart generation query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartResult"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaDatasourceOptions": {
      "description": "Options for datasources configurations.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDatasourceOptions",
      "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"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaSchema": {
      "properties": {
        "tags": {
          "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.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "fields": {
          "description": "Optional. The fields in the schema.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaField"
          }
        },
        "description": {
          "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.",
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "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."
        },
        "synonyms": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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."
        },
        "filters": {
          "description": "Optional. The filters on the datasource's underlying data. Currently only used for Looker data sources.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataFilter"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaSchema",
      "description": "The schema of a Datasource or QueryResult instance.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataFilter": {
      "properties": {
        "field": {
          "description": "Optional. The field to filter on. For example: [\"event_date\", \"customer_id\", \"product_category\"]",
          "type": "string"
        },
        "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": {
          "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."
          ],
          "enum": [
            "DATA_FILTER_TYPE_UNSPECIFIED",
            "ALWAYS_FILTER"
          ],
          "type": "string",
          "description": "Optional. The type of filter present on a datasource, such as ALWAYS_FILTER."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataFilter",
      "description": "A filter on a datasource's underlying data. Filter syntax documentation: https://cloud.google.com/looker/docs/filter-expressions"
    },
    "GoogleCloudGeminidataanalyticsV1alphaSpannerReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaSpannerReference",
      "type": "object",
      "properties": {
        "databaseReference": {
          "description": "Required. Singular proto that supports specifying which database and tables to include.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSpannerDatabaseReference"
        },
        "agentContextReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference",
          "description": "Optional. Parameters for retrieving data from Agent Context."
        }
      },
      "description": "Message representing reference to a Spanner database and agent context. Only supported for the `QueryData` method."
    },
    "GoogleCloudGeminidataanalyticsV1alphaCitationSource": {
      "properties": {
        "glossaryTerm": {
          "description": "Output only. The glossary term used as the source.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaGlossaryTerm",
          "readOnly": true
        },
        "id": {
          "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,
          "type": "string"
        },
        "title": {
          "description": "Output only. The title of the source.",
          "readOnly": true,
          "type": "string"
        },
        "uri": {
          "type": "string",
          "description": "Output only. The uri used as the source, such as a web grounding URL.",
          "readOnly": true
        },
        "exampleQuery": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaExampleQuery",
          "description": "Output only. The example query used as the source.",
          "readOnly": true
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaCitationSource",
      "type": "object",
      "description": "The source of the citation."
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerGoldenQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerGoldenQuery",
      "type": "object",
      "properties": {
        "lookerQuery": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerQuery",
          "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"
          }
        }
      },
      "description": "A golden query for Looker, including natural language questions and a corresponding Looker Query. Analogous to ExampleQuery."
    },
    "GoogleCloudGeminidataanalyticsV1alphaListConversationsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "A token identifying a page of results the server should return.",
          "type": "string"
        },
        "conversations": {
          "type": "array",
          "description": "The list of conversations.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaConversation"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaListConversationsResponse",
      "type": "object",
      "description": "Message for response to listing conversations."
    },
    "GoogleCloudGeminidataanalyticsV1alphaQueryParameter": {
      "description": "A query parameter message represents a parameter that can be used to parameterize a SQL query.",
      "properties": {
        "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"
        },
        "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"
        },
        "name": {
          "type": "string",
          "description": "Required. The name of the parameter reference in the SQL query."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaQueryParameter",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParameters": {
      "type": "object",
      "properties": {
        "parameters": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParametersParameter"
          },
          "description": "Optional. Named parameters for Parameterized Secure Views (PSV).",
          "type": "array"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParameters",
      "description": "Parameters for Parameterized Secure Views (PSV). These parameters are used to enforce row-level security during SQL generation and query execution."
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataResult": {
      "properties": {
        "name": {
          "type": "string",
          "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\""
        },
        "data": {
          "items": {
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object."
            },
            "type": "object"
          },
          "type": "array",
          "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."
        },
        "schema": {
          "description": "Optional. The schema of the data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema"
        },
        "formattedData": {
          "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.",
          "type": "array",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object.",
              "type": "any"
            },
            "type": "object"
          }
        }
      },
      "description": "Retrieved data.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataResult"
    },
    "GoogleCloudGeminidataanalyticsV1alphaQueryDataContext": {
      "type": "object",
      "properties": {
        "parameterizedSecureViewParameters": {
          "description": "Optional. Parameters for Parameterized Secure Views (PSV).",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParameters"
        },
        "datasourceReferences": {
          "description": "Required. The datasource references to use for the query.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatasourceReferences"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaQueryDataContext",
      "description": "References to data sources and context to use for the query."
    },
    "GoogleCloudGeminidataanalyticsV1alphaUserFunctions": {
      "properties": {
        "bqRoutines": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutine"
          },
          "type": "array",
          "description": "A list of BigQuery routines to include in the context."
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaUserFunctions",
      "description": "A collection of user functions to be included in context.",
      "type": "object"
    },
    "GoogleIamV1Policy": {
      "type": "object",
      "id": "GoogleIamV1Policy",
      "properties": {
        "version": {
          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
          "format": "int32",
          "type": "integer"
        },
        "auditConfigs": {
          "items": {
            "$ref": "GoogleIamV1AuditConfig"
          },
          "description": "Specifies cloud audit logging configuration for this policy.",
          "type": "array"
        },
        "etag": {
          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
          "format": "byte",
          "type": "string"
        },
        "bindings": {
          "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`.",
          "type": "array"
        }
      },
      "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/)."
    },
    "GoogleCloudGeminidataanalyticsV1alphaGenerationOptions": {
      "properties": {
        "generateDisambiguationQuestion": {
          "description": "Optional. If true (default to false), the service may return a clarifying_question if the input query is ambiguous.",
          "type": "boolean"
        },
        "generateDebugInfo": {
          "description": "Optional. If true (default to false), returns internal debugging information.",
          "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"
        },
        "generateExplanation": {
          "type": "boolean",
          "description": "Optional. If true, an explanation of the generated query will be returned in the response."
        },
        "generateQueryResult": {
          "description": "Optional. If true, the generated query will be executed, and the result data will be returned in the response.",
          "type": "boolean"
        }
      },
      "description": "Options to control query generation, execution, and response format.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaGenerationOptions"
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerQueryFilter": {
      "description": "A Looker query filter.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerQueryFilter",
      "properties": {
        "field": {
          "description": "Required. The field to filter on.",
          "type": "string"
        },
        "value": {
          "type": "string",
          "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."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataAgentContext": {
      "properties": {
        "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).",
          "deprecated": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCredentials"
        },
        "dataAgent": {
          "description": "Required. The name of the data agent resource.",
          "type": "string"
        },
        "contextVersion": {
          "enum": [
            "CONTEXT_VERSION_UNSPECIFIED",
            "STAGING",
            "PUBLISHED"
          ],
          "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."
          ],
          "type": "string",
          "description": "Optional. Version of context to be used by DCS (e.g. STAGING, PUBLISHED)"
        }
      },
      "description": "Context for the chat request using a data agent.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataAgentContext"
    },
    "GoogleIamV1SetIamPolicyRequest": {
      "type": "object",
      "description": "Request message for `SetIamPolicy` method.",
      "properties": {
        "policy": {
          "$ref": "GoogleIamV1Policy",
          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them."
        },
        "updateMask": {
          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "id": "GoogleIamV1SetIamPolicyRequest"
    },
    "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReference": {
      "properties": {
        "datasourceId": {
          "type": "string",
          "description": "Required. The id of the datasource."
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReference",
      "description": "Message representing a reference to a single Looker Studio datasource."
    },
    "GoogleCloudGeminidataanalyticsV1alphaDatasourceReferences": {
      "type": "object",
      "properties": {
        "alloydb": {
          "description": "Reference to an AlloyDB database. Only supported for the `QueryData` method.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAlloyDbReference"
        },
        "looker": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerExploreReferences",
          "description": "References to Looker Explores."
        },
        "firestoreReference": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaFirestoreReference",
          "description": "Reference to a Firestore database."
        },
        "bq": {
          "description": "References to BigQuery tables.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReferences"
        },
        "bigtableReference": {
          "description": "Reference to a Bigtable instance.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigtableReference"
        },
        "spannerReference": {
          "description": "Reference to a Spanner database. Only supported for the `QueryData` method.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSpannerReference"
        },
        "studio": {
          "description": "References to Looker Studio datasources.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReferences"
        },
        "cloudSqlReference": {
          "description": "Reference to a CloudSql database. Only supported for the `QueryData` method.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCloudSqlReference"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaDatasourceReferences",
      "description": "A collection of references to datasources."
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartResult": {
      "type": "object",
      "properties": {
        "vegaConfig": {
          "description": "Optional. A generated Vega chart config. See https://vega.github.io/vega/docs/config/",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object."
          },
          "type": "object"
        },
        "image": {
          "description": "Optional. A rendering of the chart if this was requested in the context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBlob"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartResult",
      "description": "The result of a chart generation query."
    },
    "Empty": {
      "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); }",
      "type": "object",
      "properties": {}
    },
    "GoogleRpcStatus": {
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            }
          }
        }
      },
      "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).",
      "type": "object",
      "id": "GoogleRpcStatus"
    },
    "GoogleCloudGeminidataanalyticsV1alphaRetrieveAgentOpsObservabilityResponse": {
      "type": "object",
      "description": "Response for RetrieveAgentOpsObservability.",
      "properties": {
        "telemetryEnabled": {
          "type": "boolean",
          "description": "Output only. Whether AgentOps observability telemetry is enabled.",
          "readOnly": true
        },
        "cloudMonitoringEnabled": {
          "description": "Output only. Whether Cloud Monitoring API is enabled.",
          "type": "boolean",
          "readOnly": true
        },
        "cloudTraceEnabled": {
          "readOnly": true,
          "description": "Output only. Whether Cloud Trace API is enabled.",
          "type": "boolean"
        },
        "bigqueryEnabled": {
          "readOnly": true,
          "description": "Output only. Whether BigQuery API is enabled.",
          "type": "boolean"
        },
        "bqaaEnabled": {
          "description": "Output only. Whether BigQuery Agent Analytics is enabled.",
          "readOnly": true,
          "type": "boolean"
        },
        "cloudLoggingEnabled": {
          "readOnly": true,
          "description": "Output only. Whether Cloud Logging API is enabled.",
          "type": "boolean"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaRetrieveAgentOpsObservabilityResponse"
    },
    "GoogleCloudGeminidataanalyticsV1alphaDynamicField": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaDynamicField",
      "properties": {
        "args": {
          "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",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "expression": {
          "description": "Optional. Looker expression to create a table calculation.",
          "type": "string"
        },
        "valueFormatName": {
          "description": "Optional. Value format name for the dynamic field if using a default named format.",
          "type": "string"
        },
        "basedOn": {
          "description": "Optional. For custom measures, this identifies the measure the field is based on.",
          "type": "string"
        },
        "name": {
          "description": "Optional. The name of the dynamic field in LookML.",
          "type": "string"
        },
        "valueFormat": {
          "description": "Optional. Value format for the dynamic field.",
          "type": "string"
        },
        "filterExpression": {
          "type": "string",
          "description": "Optional. Looker expression to filter a base measure."
        },
        "description": {
          "type": "string",
          "description": "Optional. Description of the dynamic field."
        },
        "type": {
          "description": "Optional. For custom measures, this identifies the type of aggregation (e.g. sum).",
          "type": "string"
        },
        "category": {
          "type": "string",
          "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."
        },
        "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."
        },
        "label": {
          "type": "string",
          "description": "Optional. The label defines the display name of the dynamic field."
        },
        "kindHint": {
          "description": "Optional. Identifies whether the dynamic field returns a dimension or measure.",
          "type": "string"
        },
        "isDisabled": {
          "description": "Optional. Whether the dynamic field is disabled.",
          "type": "boolean"
        },
        "typeHint": {
          "description": "Optional. Identifies the data type the dynamic field's expression should produce.",
          "type": "string"
        }
      },
      "description": "A dynamic field in Looker (Custom Dimension, Custom Measure, or Table Calculation).",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryPropertyGraphReference": {
      "description": "Message representing a reference to a single BigQuery property graph.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryPropertyGraphReference",
      "type": "object",
      "properties": {
        "datasetId": {
          "description": "Required. The dataset that the property graph belongs to.",
          "type": "string"
        },
        "propertyGraphId": {
          "type": "string",
          "description": "Required. The property graph id."
        },
        "projectId": {
          "description": "Required. The project that the property graph belongs to.",
          "type": "string"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaQueryParameterValues": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Required. The name of the parameter."
        },
        "value": {
          "description": "Required. The value of the parameter.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaQueryParameterValues",
      "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."
    },
    "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference",
      "description": "Message representing a table including its schema.",
      "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": {
          "description": "Optional. The schema of the table.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSchema"
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataMessage": {
      "description": "A message produced during data retrieval.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataMessage",
      "properties": {
        "result": {
          "description": "Retrieved data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataResult"
        },
        "query": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataQuery",
          "description": "A data retrieval query."
        },
        "bigQueryJob": {
          "description": "A BigQuery job executed by the system to retrieve data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryJob"
        },
        "generatedSql": {
          "type": "string",
          "description": "SQL generated by the system to retrieve data."
        },
        "generatedLookerQuery": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerQuery",
          "description": "Deprecated: generated looker query is now under DataQuery.looker. Looker Query generated by the system to retrieve data.",
          "deprecated": true
        },
        "matchedQuery": {
          "description": "A pre-existing query that was matched to retrieve data.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaMatchedQuery"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptionsPython": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Optional. Whether to enable Python analysis. Defaults to false."
        }
      },
      "description": "Options for Python analysis.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptionsPython"
    },
    "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentials": {
      "description": "Represents OAuth credentials.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentials",
      "properties": {
        "secret": {
          "description": "Secret-based OAuth credentials.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsSecretBased"
        },
        "token": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsTokenBased",
          "description": "Token-based OAuth credentials."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsTokenBased": {
      "properties": {
        "accessToken": {
          "type": "string",
          "description": "Required. The name of the secret containing the access token."
        }
      },
      "description": "Read more about Looker access tokens here: https://developers.looker.com/api/advanced-usage/looker-api-oauth",
      "id": "GoogleCloudGeminidataanalyticsV1alphaOAuthCredentialsTokenBased",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartQuery",
      "description": "A query for generating a chart.",
      "properties": {
        "instructions": {
          "type": "string",
          "description": "Optional. Natural language instructions for generating the chart."
        },
        "dataResultName": {
          "type": "string",
          "description": "Optional. The name of a previously retrieved data result to use in the chart."
        }
      },
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaSchemaResult": {
      "properties": {
        "datasources": {
          "type": "array",
          "description": "Optional. The datasources used to resolve the schema query.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatasource"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaSchemaResult",
      "description": "The result of schema resolution.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaAnalysisQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaAnalysisQuery",
      "description": "A query for performing an analysis.",
      "type": "object",
      "properties": {
        "question": {
          "type": "string",
          "description": "Optional. An analysis question to help answer the user's original question."
        },
        "dataResultNames": {
          "items": {
            "type": "string"
          },
          "description": "Optional. The names of previously retrieved data results to analyze.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference": {
      "properties": {
        "contextSetId": {
          "description": "Required. Context set ID to retrieve.",
          "type": "string"
        }
      },
      "description": "Message representing a reference to Agent Context.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaListMessagesResponse": {
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token identifying a page of results the server should return."
        },
        "messages": {
          "description": "The list of chat messages.",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaStorageMessage"
          },
          "type": "array"
        }
      },
      "description": "Response for listing chat messages.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaListMessagesResponse"
    },
    "GoogleIamV1Binding": {
      "properties": {
        "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"
        },
        "members": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "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`."
        },
        "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)."
        }
      },
      "description": "Associates `members`, or principals, with a `role`.",
      "type": "object",
      "id": "GoogleIamV1Binding"
    },
    "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParametersParameter": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaParameterizedSecureViewParametersParameter",
      "type": "object",
      "properties": {
        "key": {
          "description": "Required. The parameter key (e.g., `\"user_id\"`).",
          "type": "string"
        },
        "value": {
          "type": "string",
          "description": "Required. The parameter value (e.g., `\"123\"`)."
        }
      },
      "description": "Represents a single parameter for Parameterized Secure Views."
    },
    "GoogleIamV1AuditLogConfig": {
      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
      "type": "object",
      "properties": {
        "logType": {
          "enumDescriptions": [
            "Default case. Should never be this.",
            "Admin reads. Example: CloudIAM getIamPolicy",
            "Data writes. Example: CloudSQL Users create",
            "Data reads. Example: CloudSQL Users list"
          ],
          "description": "The log type that this config enables.",
          "enum": [
            "LOG_TYPE_UNSPECIFIED",
            "ADMIN_READ",
            "DATA_WRITE",
            "DATA_READ"
          ],
          "type": "string"
        },
        "exemptedMembers": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members."
        }
      },
      "id": "GoogleIamV1AuditLogConfig"
    },
    "GoogleCloudGeminidataanalyticsV1alphaMessage": {
      "properties": {
        "userMessage": {
          "description": "A message from the user that is interacting with the system.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaUserMessage"
        },
        "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."
        },
        "systemMessage": {
          "description": "A message from the system in response to the user.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaSystemMessage"
        }
      },
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaMessage",
      "description": "A message from an interaction between the user and the system."
    },
    "GoogleCloudGeminidataanalyticsV1alphaListAccessibleDataAgentsResponse": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaListAccessibleDataAgentsResponse",
      "description": "Message for response to listing accessible DataAgents.",
      "type": "object",
      "properties": {
        "dataAgents": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDataAgent"
          },
          "description": "The list of accessible DataAgent."
        },
        "nextPageToken": {
          "type": "string",
          "description": "The next page token or empty if none."
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Unordered list. Locations that could not be reached."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaSpannerDatabaseReference": {
      "properties": {
        "tableIds": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The table ids. Denotes all tables if unset."
        },
        "projectId": {
          "description": "Required. The project the instance belongs to.",
          "type": "string"
        },
        "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"
        },
        "instanceId": {
          "description": "Required. The instance id.",
          "type": "string"
        },
        "graphIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Optional. The graph IDs to query."
        },
        "databaseId": {
          "description": "Required. The database id.",
          "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": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference"
          },
          "type": "array"
        },
        "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."
        },
        "engine": {
          "description": "Required. The engine of the Spanner instance.",
          "enumDescriptions": [
            "Engine is not specified.",
            "Google SQL",
            "PostgreSQL"
          ],
          "enum": [
            "ENGINE_UNSPECIFIED",
            "GOOGLE_SQL",
            "POSTGRESQL"
          ],
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaSpannerDatabaseReference",
      "type": "object",
      "description": "Message representing a reference to a single Spanner database."
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigtableDatabaseReference": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigtableDatabaseReference",
      "description": "Message representing reference to Bigtable database.",
      "type": "object",
      "properties": {
        "projectId": {
          "description": "Required. The project the instance belongs to.",
          "type": "string"
        },
        "instanceId": {
          "type": "string",
          "description": "Required. The instance id."
        },
        "databaseTableReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatabaseTableReference"
          },
          "type": "array",
          "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."
        },
        "tableIds": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The table ids. Denotes all tables if unset."
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReferences": {
      "type": "object",
      "description": "Message representing references to BigQuery tables and property graphs. At least one of `table_references` or `property_graph_references` must be populated.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReferences",
      "properties": {
        "propertyGraphReferences": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryPropertyGraphReference"
          },
          "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."
        },
        "tableReferences": {
          "description": "Optional. References to BigQuery tables.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryTableReference"
          }
        },
        "agentContextReference": {
          "description": "Optional. Parameters for retrieving data from Agent Context.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAgentContextReference"
        }
      }
    },
    "GoogleLongrunningListOperationsResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "The standard List next-page token."
        },
        "unreachable": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "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."
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "type": "array",
          "items": {
            "$ref": "GoogleLongrunningOperation"
          }
        }
      },
      "type": "object",
      "id": "GoogleLongrunningListOperationsResponse",
      "description": "The response message for Operations.ListOperations."
    },
    "GoogleCloudGeminidataanalyticsV1alphaSchemaQuery": {
      "description": "A query for resolving the schema relevant to the posed question.",
      "type": "object",
      "properties": {
        "question": {
          "description": "Optional. The question to send to the system for schema resolution.",
          "type": "string"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaSchemaQuery"
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsNoImage": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptionsNoImage",
      "type": "object",
      "description": "No image.",
      "properties": {}
    },
    "GoogleCloudGeminidataanalyticsV1alphaCitationAnchor": {
      "type": "object",
      "description": "The anchor of the citation.",
      "properties": {
        "textMessageAnchor": {
          "description": "Output only. Only set if the citation is for a TextMessage.",
          "readOnly": true,
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaCitationAnchorTextMessageCitationAnchor"
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaCitationAnchor"
    },
    "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptions": {
      "type": "object",
      "properties": {
        "python": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptionsPython",
          "description": "Optional. Options for Python analysis."
        }
      },
      "description": "Options for analysis.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaAnalysisOptions"
    },
    "GoogleCloudGeminidataanalyticsV1alphaLookerQuery": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaLookerQuery",
      "properties": {
        "model": {
          "description": "Required. The LookML model used to generate the query.",
          "type": "string"
        },
        "filters": {
          "description": "Optional. The filters to apply to the explore.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerQueryFilter"
          }
        },
        "explore": {
          "description": "Required. The LookML explore used to generate the query.",
          "type": "string"
        },
        "sorts": {
          "items": {
            "type": "string"
          },
          "type": "array",
          "description": "Optional. The sorts to apply to the explore."
        },
        "dynamicFields": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDynamicField"
          },
          "description": "Optional. The dynamic fields used in the query."
        },
        "fields": {
          "type": "array",
          "description": "Optional. The fields to retrieve from the explore.",
          "items": {
            "type": "string"
          }
        },
        "limit": {
          "type": "string",
          "description": "Optional. Limit in the query."
        },
        "queryId": {
          "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.",
          "type": "string"
        },
        "clientId": {
          "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.",
          "type": "string"
        }
      },
      "type": "object",
      "description": "Looker Query Object [Looker API documentation](https://cloud.google.com/looker/docs/reference/looker-api/latest/methods/Query/run_inline_query)."
    },
    "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutine": {
      "id": "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutine",
      "properties": {
        "description": {
          "type": "string",
          "description": "User override or addition to description, to tell the agent when to use the UDF."
        },
        "routineReference": {
          "description": "The reference to the BigQuery routine.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaBigQueryRoutineReference"
        }
      },
      "description": "A reference to a BigQuery routine.",
      "type": "object"
    },
    "GoogleCloudGeminidataanalyticsV1alphaDataQuery": {
      "type": "object",
      "description": "A query for retrieving data.",
      "properties": {
        "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": {
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaLookerQuery",
          "description": "Optional. A query for retrieving data from a Looker explore."
        },
        "question": {
          "description": "Optional. A natural language question to answer.",
          "type": "string"
        },
        "datasources": {
          "description": "Optional. The datasources available to answer the question.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaDatasource"
          }
        }
      },
      "id": "GoogleCloudGeminidataanalyticsV1alphaDataQuery"
    },
    "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReferences": {
      "description": "Message representing references to Looker Studio datasources.",
      "id": "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReferences",
      "type": "object",
      "properties": {
        "studioReferences": {
          "items": {
            "$ref": "GoogleCloudGeminidataanalyticsV1alphaStudioDatasourceReference"
          },
          "description": "Optional. The references to the studio datasources.",
          "type": "array"
        }
      }
    },
    "GoogleCloudGeminidataanalyticsV1alphaChartOptions": {
      "properties": {
        "image": {
          "description": "Optional. When specified, the agent will render generated charts using the provided format. Defaults to no image.",
          "$ref": "GoogleCloudGeminidataanalyticsV1alphaChartOptionsImageOptions"
        }
      },
      "description": "Options for chart generation.",
      "type": "object",
      "id": "GoogleCloudGeminidataanalyticsV1alphaChartOptions"
    }
  },
  "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.",
  "ownerName": "Google",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "servicePath": "",
  "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."
        }
      }
    }
  },
  "mtlsRootUrl": "https://geminidataanalytics.mtls.googleapis.com/",
  "endpoints": [
    {
      "description": "Regional Endpoint",
      "location": "us",
      "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"
    },
    {
      "location": "us-south1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://geminidataanalytics.us-south1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-west2",
      "endpointUrl": "https://geminidataanalytics.europe-west2.rep.googleapis.com/"
    }
  ],
  "parameters": {
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "type": "string",
      "location": "query",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format."
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "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"
    },
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "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": {
      "location": "query",
      "type": "string",
      "description": "OAuth 2.0 token for the current user."
    },
    "upload_protocol": {
      "location": "query",
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\")."
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "default": "true",
      "location": "query",
      "description": "Returns response with indentations and line breaks."
    },
    "alt": {
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "type": "string",
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response."
    }
  },
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/gemini/docs/conversational-analytics-api/overview",
  "title": "Data Analytics API with Gemini",
  "canonicalName": "Data Analytics API with Gemini",
  "name": "geminidataanalytics",
  "id": "geminidataanalytics:v1alpha",
  "batchPath": "batch",
  "ownerDomain": "google.com",
  "revision": "20261008",
  "kind": "discovery#restDescription",
  "rootUrl": "https://geminidataanalytics.googleapis.com/"
}
